暗号通貨で報酬が得られるサービス【Steemit】について
以前、アプリでブロックチェーンに登録したTODOをこなす
ごとに暗号通貨で報酬が得られるサービスを考えていたけど、
それはどうやって実現すべきなのか根幹部分がよく分かって
いなかった。
で、最近またブロックチェーン周辺技術を掘っていたら、たま
たまSteemitという記事を投稿したら暗号通貨で報酬が得られる
キュレーションサイトのことを知ったので、その仕組を理解しよう
と思って自分用にメモしてみる(ΦωΦ)
【参考サイト】
https://steem.io/steem-bluepaper.pdf
Haskellとブロックチェーン技術
もしも日本でHaskellの人気が爆発するとしたらFinTechで
ブロックチェーン周辺の技術という話があるらしいので少し
ググってみた。
Haskellを利用したブロックチェーンというとCardanoADA
というのがあるらしい。
暗号通貨周りの周辺技術も追いかけていたはずなのに、最近
は全体的に疲れていて見逃していたw(ΦωΦ)
こちらの開発がスタートしたのは2016年9月からということで
比較的新しいプロジェクトのようだ。
ググると結構、去年末から今月にかけて情報が出て来る。
日本語サイトもあるけど本家は中国語!?
中国人の発想力すげーなって思った。
日本人も見習わないとな(ΦωΦ)
自分が関数型言語周りのライブラリを調べていたのは
3年前の2015年とかなので、地道にまた追いかけ直して
遅れないようにメモした情報をチェックしておこう。
[参考サイト]
Cardano (cryptocurrency) - Wikipedia
ADA(エイダコイン)とは|仮想通貨 の特徴・価格・チャート・購入方法 | Alchembookーネット副業でお金を稼ぐ方法ー
e-staffing WebTimeCardSystemでパスワード変更
全然、技術関係ないけどマニュアルに欲しい情報が
ないので都度メモ用(Φω|
ちなみに、システム内の有効期限に到達したら、
右上の方に「パスワードの有効期限」が表示される
が派遣スタッフがパスワード変更する方法が
簡易マニュアルを見てもWebマニュアルを見ても
載ってないのは困るなー。
あえて変更項目は別枠にしたのかもしれないけど。
[手順]
1. TOPページのメニューより「Webマニュアル」上の
「その他のFAQ」をクリック。
2. 以下の画像の「よくある質問 目次」より上から
2番目の「パスワードの変更方法は?」クリック
し、情報を参照。
3. 自分の派遣会社の企業IDと、ユーザIDと変更前の
パスワードでログイン。
4. 画面上の「スタッフプロファイル編集」クリック。
5. 以下画像の旧パスワードにログイン時のパスワード、
新パスワードを2回入力して「Pwd更新」クリック。
6. 更新しました旨のメッセージが出力されればOK。
Haskell製BOTフレームワークmarvinの紹介と今後、作りたいもの。
こちらはHaskell Advent Calendar 2017 (その3)の23日目の記事
になります。大変遅くなりました。
BOTフレームワークと言うと自分がまず思い浮かべるのがGithub
のHubotで、HaskellにもHubotに触発されて開発中というmarvin
こちらは開発中のため、まだ動かせる機能は制限されますが
モジュラー形式なので使い勝手が良さそうに感じました。
Botを制御するスクリプトもHubotで運用しているものを参考
に作れるというところも過去の資産を利用できるのでいいかも
しれないです。
実際にSlackでサンプルコードを利用したBotを動かしてみる
ところは現在、検証中のため今回は省略します。
詳しい部分はドキュメントを参照して下さい。
Linux Mint 17.3 Xfceで開発環境を導入した手順は下記です。
[手順]
1. プロジェクト作成前に下記パッケージをインストール。
$ sudo apt install libicu-dev
$ sudo apt install libtinfo-dev
2. お試しプロジェクトを作成。
$ stack new test-bot
3. 2で作成したディレクトリへ移動。
$ cd test-bot
4. package.yamlにmarvinを追加。
dependencies:
- base >= 4.7 && < 5
- marvin <--- ココに追加
5. プロジェクトをビルド。
$ stack build
※stack buildでGHCのダウンロードからビルドまで行われる。
※ちなみに、stack install marvin で実行ファイル形式でインス
トールすることも可能。
6. プロジェクトディレクトリ以下にインストールされた
marvinをPATHに追加。
$ vim .profile
一番下に下記を追加。
PATH="$PATH:~/local/bin"
7. 6の変更を反映。
$ source ~/.profile
8. Botの名前を指定してmarvin-initコマンドを実行。
$ marvin-init walter
※使えるコマンドは今のところ2つ。
marvin-init --- プロジェクトを生成するコマンド
marvin-pp --- Main.hsを
※Adapter ID指定なしだとデフォルトはSlack RTMのスクリプト
(MyScript.hs)が生成。
※Adapterは現在、Slack、Telegram、Facebook Messenger、
IRC、Shellなどがある。
9. 8を実行すると、お試しプロジェクト内にbot
ディレクトリが作成され、Main.hsとMyScript.hsが
自動生成されるので、こちらを目的のBot用に編集します。
※MyScript.hs は指定したAdapterごとのBOTを制御するスクリプト。
※Main.hsは10のスクリプトを動かして実行アプリを生成するファイル。
10. 9のファイルを編集したら、ビルド。
$ stack build
[今後、marvinを利用して作ってみたいもの]
常日頃、困っていることとして過集中で作業をして電池が切れると
次にやるべきことを紙やノートにまとめていても、一切見ないし
目の前にあっても見えないことが結構あるので、スマホでTelegram
やLINE、Slackなど各種チャットサービスとスマホを連携した
「期日内でやるべきことを通知する」簡易todo管理アプリを作りたい。
結構、深刻なのでこれはすぐに着手して公開できれば・・・
[参考サイト]
Welcome to marvin’s documentation! — marvin 0.3 documentation
Welcome to marvin’s documentation! — marvin 0.2.3 documentation
StackでHaskell開発環境構築【基本編】(追記あり)
Mintのリポジトリを利用しないで、Haskellのビルドツールの
Stackで開発環境を構築する手順をメモ(ΦωΦ)
[手順]
1. 以下のいずれかのコマンドをターミナルで実行。
$ curl -sSL https://get.haskellstack.org/ | sh
or
$ wget -g0- https://get.haskellstack.org/ | sh
2. バージョンを確認。
$ stack --version
Version 1.6.3 Git revision ....(リビジョン番号)
3. プロジェクトを作成。ここでは、test-mybot
$ cd workspace
$ stack new test-mybot
4. プロジェクトディレクトリへ移動。
$ cd test-mybot
※もし、インストールしたいライブラリがあったら、プロジェクト直下の
test-mybot.cabalファイルのbuild-depeds: セクションに定義すると5で
依存ライブラリもインストールされるらしい。
その際、test-mybot.cabalと同じ階層にpackage.yamlがある場合は削除
しておく。なぜなら、ある状態でstack buildすると自動的にhpackで
package.yamlをcabalファイルに変換するため。
※もし、他に追加でインストールしたいパッケージがあったら、プロジェクト
ディレクトリ直下の、package.yamlの「dependencies:」セクションに
追加したいパッケージ名を追加する。
※また、stack.yamlにデフォルト設定されているlts-10.1は出たばっかりで
対応しているパッケージが少ないため、「resolver: lts-9.21」にしておく
とよい。と、Twitterで詳しい人に教えてもらった。
※改めて、stack build を実行する。
dependencies:
- base >= 4.7 && < 5 <----- このあとに追加パッケージ名を追加
library:
source-dirs: src
5. プロジェクトをビルド。
$ stack build
※Version 1.6.1未満では、一度、stack setup でGHCをダウンロード
する必要があったが、1.6.3ではコンパイラのダウンロードとビルドが
同時に行われる。
6. プロジェクトを実行。
$ stack exec test-mybot-exe
someFunc <---- ここを「Hello, my bot!」と表示させたい
7. 出力を"Hello, my bot!"に変更。
/home/username/workspace/test-mybot/app/Main.hs から呼ばれる
/home/username/workspace/test-mybot/src/Lib.hs のsomeFunc の内容を
以下のように書き換える。
module Lib
( someFunc
) where
someFunc :: IO ()
someFunc = putStrLn "someFunc" <---- を"Hello, my bot!"に
8. プロジェクトを再ビルド。
$ stack build
9. プロジェクトを再実行。
$ stack exec test-mybot
Hello, my bot!
※"Hello, my bot!"が出力されればOK
※REPLを起動する場合
$ stack ghci
[参考サイト]
Lubuntu 16.04 LTSが起動しなくなったのでLinux Mint 18.3 Xfce入れた
夜から早速、Haskell環境を構築してBotフレームワーク
のmarvinを動かしてみようと思ったのに、Guest Additions適用
済みのLubuntu 16.04 LTSを起動してウィンドウを広げたら、
そのままフリーズしてスタートメニューが起動しなくなってしまった
ので、同じくDebian系のLinux Mint 18.3 Xfceをインストールして
現在に至る。
帰宅して作業するために、これまでの手順とHaskell 8.x を入れる
情報をリンクとしてメモしておく。
[手順]
1. Linux Mint公式から最新のXfce版のISOをDL。
2. VirtualboxでLive起動しインストールを実行。
※ここで日本語インストーラーを選んで実行すると、
Lubuntu同様、再起動後は日本語表示フォントとIM
(Mintではfcitx-mozcがデフォルト)が設定済みになる。
3. VBoxGuestAdditionsをVirtualboxのメニューの[デバイス] -
[Guest Additions CDイメージの挿入] を選んで挿入。
4. Lubuntu同様、自動起動しないので手動でマウントして実行。
$ cd /media/username/VBox_GAs_5.2.4
$ sudo ./VBoxLinuxAdditions.run
5. 英語のインストールログにGuestのシステムを再起動したら
反映されるとあるので、システム再起動。
6. ホストとの共有フォルダが読み込まれない不具合があるが、
その他はインストールさえ終われば、すぐに使える状態になる。
※Xfceのデスクトップに表示されないというだけで、ホームフォルダ
内では可視化されてる。
7. ホーム以下の各フォルダ名を英語に戻す。
$ LANG=C xdg-user-dirs-gtk-update
左下の更新後、二度と表示しないにチェックを入れておく。
[参考サイト]
LTS Haskell 10.1 (ghc-8.2.2) :: Stackage Server
Welcome to marvin’s documentation! — marvin 0.2.3 documentation
【自分用メモ】Hubotについて、おさらい
Haskell製のBotフレームワークのmarvinがHubotを参考に
開発されているということで、Hubotを長らく使わな
かったので、改めて。おさらい的な感じで。
個人的には、まぁ過集中すぎるとノートや紙に書いても
やらないといけないことをザックリと忘れるので、ゆくゆく
は音を鳴らしたり、Twilio等の音声出力サービスやLINE、Telegram
等の各種チャットサービスを使って、スマホ経由で通知が
できればいいなと考えている。
[参考サイト]