LoginSignup
1
1

More than 5 years have passed since last update.

EOSIO+EOSJS+Express+Bootstrapで簡単なトークン送信システムを作ってみた

Posted at

どーも、のぶこふです。

CLIでポチポチするのも良いのですが、やっぱり画面で出来たほうが良いよね。ということではじめました。
そういった記事も特に見当たらなかったですし。

作成した画面のイメージや、ソースコード、手順等はGitHubに配置してあります。
EOSIO実行手順は、公式や他の方の記事のほうがわかりやすいかと思います。
※拙い英語で書かれています
https://github.com/nobkovskii/eosjs-sample

  • GUIで表示しているとは言え、UXはとても見れたものではないので、寛大なお気持ちで御覧ください。 (とりあえず、表示しとけばいいよね、くらいの気持ち)
  • Bootstrapで、ソレっぽさだけは表現しています。
  • Nodeのお作法(特にPromise関連)をあまり理解していないので、マサカリを投げられるとそのまま泉に沈みます。

出来ること

画面上からは、下記が行えます。

  • ブロックの情報(getInfo,getBlock)を表示
  • アカウントの作成(create account)
  • アカウント一覧の表示(getAccount)
  • アカウントのトークン数の表示
  • アカウントのトークン授受履歴の表示
  • トークンの授受(transfer)

反対に、下記は行なえません。(実装していません)

  • トークンの作成(Create)、配布(Issue)
  • トランザクションの表示
  • 指定したブロック情報の表示
  • エラーが発生した時の諸々
  • 。。。など

困ったこととか、作ってみての感想的な

APIも一通り揃っていて、ドキュメントもあるので、大きく詰まったことはありませんでした。
\EOSJSサイコー/

ただ、アカウント作成(create account)で、作成者(creator)をスーパーユーザ的な権限を持つ「eosio」ユーザに指定していたら、「権限がありません」といったエラーが出て、1日ほど悩みました。
結局、コントラクトの実行権限を持たせた「token」ユーザを指定することで解決しました。
CLIだと、eosioを指定するのだが。。。

トークン送信時のメッセージは、全角で85文字までみたいです。
1000文字くらいで送ると「Transaction took too long」と出るのですが、100文字くらいだと「eosio_assert_message assertion failure」で、1時間くらい悩みました。

おわりに

個人的に、CLIだけで終わってしまうのはつまらないので、他のブロックチェーンプラットフォームも同じようにGUIで表現したいと考えています。

というか、メインでやろうとしていた「Hyperledger Fabric」の初期設定・導入が他のブロックチェーンプラットフォーム(eosio,mijin等)に比べて面倒すぎるし、APIもあんまり揃っていなさそうなので、上手いこと出来ないかちょいと踏ん張ってみようと思った今日このごろ。


今回はここまでです。
ありがとうございました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1