ISIDの仮想通貨のトレンド情報配信サービス「CRYPTALS」を使ってみた
どうも、ぺろりんです。
先日、ISID(電通国際情報サービス)から「CRYPTALS」という仮想通貨トレンド情報の配信サービスが実験的にリリースされました。
電通とGEのジョイントベンチャーとして設立されたSI屋のISIDは、電通とつながっているだけあって、マーケティングに強いSIerという特色を持っています。
そんなISIDから仮想通貨のトレンド情報配信サービスが提供開始(無料)され、面白そうなので使ってみました。
正直、現状は使いづらかったり、抽出される情報が微妙だったり、抽出された情報から何を読むべきとかが私にはまだよくわからないです。
しかし!今後このサービスがもっと面白くて意味あるものになると嬉しいですし、使ってみたい方々の多少の助けになると良いなと思い、拙いですがレビューを書いておこうかと思います!!
長くなったので、結論だけ見たい方は最後のまとめまで飛んでください。
ちなみに、実証実験期間が
2018年7月23日(月)~12月20日(木)(予定)
とあるので、ご興味ある方はお早めに登録を!
CRYPTALSの使い方
CRYPTALSのはじめ方
まずはCRYPTALSの公式ページからアカウント登録を選択します。

登録画面の案内にしたがって登録していきます。

ログインするとこんな感じの画面がでてきます。

CRYPTALSには「Buzz Topics」、「Trend Words」、「Sentiment Analytics」という3つの機能があるので、それぞれ見ていきましょう。
ちなみに、右のコメント欄はどの項目でも同じものが出てくるようです。
CRYPTALSの機能1:Buzz Topics
画面としては、先ほどのログイン後に出てくる画面です。

ISIDのプレスリリースによると、「Buzz Topics」では
「仮想通貨のトレンドに敏感な「インフルエンサー」を独自のアルゴリズムを用いて抽出し、インフルエンサーのツイートをリアルタイムに配信します。トレンドに敏感なインフルエンサー達がどのような発信をしているか、どのような情報に着目しているかを知ることが可能です。」
ということをするのだそうです。
まず、真ん中にはビットコインのチャート(どうやら1時間分)があります。
ここの特徴としては、このツールが抽出したインフルエンサーがこのチャート上のどの部分でどんなツイートをしたかが分かるということです。
(チャート上のツイートされた時刻付近にマルが付きます)

上にある「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」は、どれを選択してもグラフはビットコインのチャートが現れます。
ここの選択肢は基本的にツイート内容のカテゴリのようで、グラフ上にあるマルはツイートに関係するため、「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」のどれを選択するかで変わります。
グラフ部分の基本操作では以下のことができるようです。
(1)グラフの一部を拡大
グラフの中にカーソルを持っていくと「+」印が出てるくので、これをドラッグしてやると範囲選択できて、選択した部分が拡大されます。



(2)横軸(時間)の範囲を移動
横軸の上にカーソルを持っていくと矢印がでてくるので、そのまま左右にドラッグしてやると、横軸を左右に移動できます。


(3)縦軸(金額)の範囲を移動
縦軸の上にカーソルを持っていくと矢印がでてくるので、そのまま上下にドラッグしてやると、縦軸を上下に移動できます。


(4)(1)~(3)のリセット
グラフの中でダブルクリックすると、拡大や上下左右の移動がリセットされます。
(5)チャート上に示されたツイートの確認
チャート上でマルがついている部分にカーソルを持っていくと、その時刻(チャート上のそこのタイミング)にツイートされたツイートを見ることができます。マルをクリックすると、ツイートの詳細が見られます。

グラフの下には、抽出されたインフルエンサーのツイートが並んでいます。

「〇人のインフルエンサーがこのツイートをシェアしています」というところを開くと、そのツイートをリツイートしたツイート(文字で表現するとややこしいw)が出てきます。

この部分の感想としては以下2点です。
(1)チャートの範囲(横軸)をもっと広げて欲しい。
ツイートの抽出条件が結構厳しそうな上グラフの範囲が1時間なので、チャート上に関連ツイートが載ってくるタイミングにあんまり出くわさなくて現状ちょっとつまらないです。
(2)チャートの種類を増やして欲しい。
せっかく「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」という選択肢があるのに、すべてビットコインのチャートとしか関連しないのはちょっともったいないかな、という感じです。これらの選択肢を変えることで下に表示されるツイートは、たとえば「ネム」を選ぶと「ネム」関連で抽出されるので、「全般」は別としても、ツイートと関連するチャートも「ネム」のチャートを表示するなどにした方が良いのでは、と思います。ビットコインのチャートが常にあるのはアリですが。
CRYPTALSの機能2:Trend Words
ISIDのプレスリリースによると、「Trend Words」は
「インフルエンサーのつぶやきをリアルタイムで分析し、過去1時間の間にもっとも多く使われているキーワードをランキング形式で抽出します。変化の早い仮想通貨の環境において、最新の動向を上位のキーワードから垣間見ることが可能となります。 」
とのことです。
ここでは、抽出したツイートからキーワードを抽出してきて、このキーワードランキングをビットコインのチャートと重ねて表示しています。

グラフの基本操作は「Buzz Topics」と同じです。
「Buzz Topics」で挙げた内容に加えて、この機能の感想は以下2点です。
(1)ビットコイン以外のカテゴリで、実質的にほとんど抽出されない。
ビットコインに比べて他の通貨が話題としてツイートされる頻度が少ないのはあるでしょうが、抽出アルゴリズムも改善の余地があるのではないかと思います。ビットコイン以外のカテゴリだと、少なくとも私が見たタイミングでは、イーサリアムで何も抽出されていないwもしかすると、抽出する時間範囲を広げたりすることでもっとうまく抽出できるのかな……?

(2)抽出されるキーワードが微妙。
現状抽出されているキーワードが、イマイチ使える感じがしません。私が見たタイミングだと、「ビットコイン」、「ETF」、「企業」、「設計」、「奇」、「バニラ」、「ボス」、「ペケ」、「途方」。活用できると感じないのは私の能力の問題もありますが、ランキング下位のキーワードはそもそもFrequency(ツイートでの出現頻度)のカウントが1桁(たとえば私が見たタイミングの「奇」は9回)だったりして、まだまだ標本の数が少ないのは問題かなぁという感じです。抽出対象としてまず「インフルエンサー」に絞っているっぽいので、余計に標本が少なくなるんでしょうね。。「インフルエンサー」として拾う対象をもう少し広げても良いのかもしれないですね。


CRYPTALSの機能3:Sentiment Analytics
ISIDのプレスリリースによると、「Sentiment Analytics」は
「インフルエンサーが仮想通貨のトレンドに対して、ポジティブな感情で情報発信しているのか、ネガティブな感情で情報発信しているのかを分析しビジュアルに表示します。仮想通貨の今後の動向について、インフルエンサーがどのような印象をもっているか推察することが出来ます。 」
という機能だそうです。
ここでは、ビットコインチャートに「sentiment score」(左側の縦軸)という値のグラフが重ねて表示されています。
各ツイートの感情値を計算して、何かしらの重みづけをした平均値みたいな値ってことでしょうか?


グラフの基本操作は「Buzz Topics」に加え、ここの場合はグラフ内のどこかでクリックするとそのタイミングでのツイートが表示されます。
出てくるツイートは感情の分析結果によって色分けされています。

ただしこれ、どの色がどの感情かの凡例が書いていない……?
内容から推測するに、たぶん
・緑→ポジティブ
・赤→ネガティブ
という内容になっているのかな……?
ツイートによっては、緑と赤両方の色で抽出されているものもあるようです。
この項目の感想としては、ここでも「Buzz Topics」のところで挙げた内容は継続で、それに加えて以下2点があります。
(1)見方の説明が欲しい。
「sentiment score」がどういう値か、色分けはどちらの色がどちらの感情(意味)か、という程度は説明が欲しいです。どこかにあるのかも知れませんが、少なくともぱっと見では見つけられなかったです。。
(2)抽出数がもう少し欲しい。
やっぱりここも、抽出アルゴリズムが厳しいのか数が少なすぎて参考にしづらいかな、という印象です。
まとめ
今回は、ISIDから実験的に提供された仮想通貨のトレンド情報配信サービス「CRYPTALS」を使ってみて、その使い方と使用感をご紹介しました。
基本的には、チャートの動きとツイート内容の連動を見るツールのようです。
このツールには「Buzz Topics」、「Trend Words」、「Sentiment Analytics」という3つの機能があり、それぞれへの個人的な感想としては以下のような内容でした。(詳細は上にある各項目をご参照ください)
Buzz Topics
(1)チャートの範囲(横軸)をもっと広げて欲しい。
(2)チャートの種類を増やして欲しい。
Trend Words
(1)ビットコイン以外のカテゴリで、実質的にほとんど抽出されない。
(2)抽出されるキーワードが微妙。
Sentiment Analytics
(1)見方の説明が欲しい。
(2)抽出数がもう少し欲しい。
選べるカテゴリとして挙げられている「ビットコイン」、「イーサリアム」、「ネム」、「リップル」というのも、何気に意味深ですよね。
恐らく日本における注目度の高さなんかで選ばれているんじゃないかな。。
こんな感じでレビューしてみましたが、このツールが今後もっと使える面白いサービスになることを期待しています!
ついでに言うと、ある程度の機能は無料で提供してもらえると嬉しいですw
ではでは、今回はこのへんで。
先日、ISID(電通国際情報サービス)から「CRYPTALS」という仮想通貨トレンド情報の配信サービスが実験的にリリースされました。
CRYPTALSのプレスリリースが出ました!
— cryptals (@cryptals) 2018年7月23日
引き続きよろしくお願いいたします。
ISID、仮想通貨のトレンド情報配信サービス「CRYPTALS」を開発(2018年07月23日) | プレスリリース | 電通国際情報サービス(ISID) https://t.co/zX5AGL5T5o
電通とGEのジョイントベンチャーとして設立されたSI屋のISIDは、電通とつながっているだけあって、マーケティングに強いSIerという特色を持っています。
そんなISIDから仮想通貨のトレンド情報配信サービスが提供開始(無料)され、面白そうなので使ってみました。
正直、現状は使いづらかったり、抽出される情報が微妙だったり、抽出された情報から何を読むべきとかが私にはまだよくわからないです。
しかし!今後このサービスがもっと面白くて意味あるものになると嬉しいですし、使ってみたい方々の多少の助けになると良いなと思い、拙いですがレビューを書いておこうかと思います!!
長くなったので、結論だけ見たい方は最後のまとめまで飛んでください。
ちなみに、実証実験期間が
2018年7月23日(月)~12月20日(木)(予定)
とあるので、ご興味ある方はお早めに登録を!
CRYPTALSの使い方
CRYPTALSのはじめ方
まずはCRYPTALSの公式ページからアカウント登録を選択します。

登録画面の案内にしたがって登録していきます。

ログインするとこんな感じの画面がでてきます。

CRYPTALSには「Buzz Topics」、「Trend Words」、「Sentiment Analytics」という3つの機能があるので、それぞれ見ていきましょう。
ちなみに、右のコメント欄はどの項目でも同じものが出てくるようです。
CRYPTALSの機能1:Buzz Topics
画面としては、先ほどのログイン後に出てくる画面です。

ISIDのプレスリリースによると、「Buzz Topics」では
「仮想通貨のトレンドに敏感な「インフルエンサー」を独自のアルゴリズムを用いて抽出し、インフルエンサーのツイートをリアルタイムに配信します。トレンドに敏感なインフルエンサー達がどのような発信をしているか、どのような情報に着目しているかを知ることが可能です。」
ということをするのだそうです。
まず、真ん中にはビットコインのチャート(どうやら1時間分)があります。
ここの特徴としては、このツールが抽出したインフルエンサーがこのチャート上のどの部分でどんなツイートをしたかが分かるということです。
(チャート上のツイートされた時刻付近にマルが付きます)

上にある「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」は、どれを選択してもグラフはビットコインのチャートが現れます。
ここの選択肢は基本的にツイート内容のカテゴリのようで、グラフ上にあるマルはツイートに関係するため、「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」のどれを選択するかで変わります。
グラフ部分の基本操作では以下のことができるようです。
(1)グラフの一部を拡大
グラフの中にカーソルを持っていくと「+」印が出てるくので、これをドラッグしてやると範囲選択できて、選択した部分が拡大されます。



(2)横軸(時間)の範囲を移動
横軸の上にカーソルを持っていくと矢印がでてくるので、そのまま左右にドラッグしてやると、横軸を左右に移動できます。


(3)縦軸(金額)の範囲を移動
縦軸の上にカーソルを持っていくと矢印がでてくるので、そのまま上下にドラッグしてやると、縦軸を上下に移動できます。


(4)(1)~(3)のリセット
グラフの中でダブルクリックすると、拡大や上下左右の移動がリセットされます。
(5)チャート上に示されたツイートの確認
チャート上でマルがついている部分にカーソルを持っていくと、その時刻(チャート上のそこのタイミング)にツイートされたツイートを見ることができます。マルをクリックすると、ツイートの詳細が見られます。

グラフの下には、抽出されたインフルエンサーのツイートが並んでいます。

「〇人のインフルエンサーがこのツイートをシェアしています」というところを開くと、そのツイートをリツイートしたツイート(文字で表現するとややこしいw)が出てきます。

この部分の感想としては以下2点です。
(1)チャートの範囲(横軸)をもっと広げて欲しい。
ツイートの抽出条件が結構厳しそうな上グラフの範囲が1時間なので、チャート上に関連ツイートが載ってくるタイミングにあんまり出くわさなくて現状ちょっとつまらないです。
(2)チャートの種類を増やして欲しい。
せっかく「全て」、「ビットコイン」、「イーサリアム」、「ネム」、「リップル」、「全般」という選択肢があるのに、すべてビットコインのチャートとしか関連しないのはちょっともったいないかな、という感じです。これらの選択肢を変えることで下に表示されるツイートは、たとえば「ネム」を選ぶと「ネム」関連で抽出されるので、「全般」は別としても、ツイートと関連するチャートも「ネム」のチャートを表示するなどにした方が良いのでは、と思います。ビットコインのチャートが常にあるのはアリですが。
CRYPTALSの機能2:Trend Words
ISIDのプレスリリースによると、「Trend Words」は
「インフルエンサーのつぶやきをリアルタイムで分析し、過去1時間の間にもっとも多く使われているキーワードをランキング形式で抽出します。変化の早い仮想通貨の環境において、最新の動向を上位のキーワードから垣間見ることが可能となります。 」
とのことです。
ここでは、抽出したツイートからキーワードを抽出してきて、このキーワードランキングをビットコインのチャートと重ねて表示しています。

グラフの基本操作は「Buzz Topics」と同じです。
「Buzz Topics」で挙げた内容に加えて、この機能の感想は以下2点です。
(1)ビットコイン以外のカテゴリで、実質的にほとんど抽出されない。
ビットコインに比べて他の通貨が話題としてツイートされる頻度が少ないのはあるでしょうが、抽出アルゴリズムも改善の余地があるのではないかと思います。ビットコイン以外のカテゴリだと、少なくとも私が見たタイミングでは、イーサリアムで何も抽出されていないwもしかすると、抽出する時間範囲を広げたりすることでもっとうまく抽出できるのかな……?

(2)抽出されるキーワードが微妙。
現状抽出されているキーワードが、イマイチ使える感じがしません。私が見たタイミングだと、「ビットコイン」、「ETF」、「企業」、「設計」、「奇」、「バニラ」、「ボス」、「ペケ」、「途方」。活用できると感じないのは私の能力の問題もありますが、ランキング下位のキーワードはそもそもFrequency(ツイートでの出現頻度)のカウントが1桁(たとえば私が見たタイミングの「奇」は9回)だったりして、まだまだ標本の数が少ないのは問題かなぁという感じです。抽出対象としてまず「インフルエンサー」に絞っているっぽいので、余計に標本が少なくなるんでしょうね。。「インフルエンサー」として拾う対象をもう少し広げても良いのかもしれないですね。


CRYPTALSの機能3:Sentiment Analytics
ISIDのプレスリリースによると、「Sentiment Analytics」は
「インフルエンサーが仮想通貨のトレンドに対して、ポジティブな感情で情報発信しているのか、ネガティブな感情で情報発信しているのかを分析しビジュアルに表示します。仮想通貨の今後の動向について、インフルエンサーがどのような印象をもっているか推察することが出来ます。 」
という機能だそうです。
ここでは、ビットコインチャートに「sentiment score」(左側の縦軸)という値のグラフが重ねて表示されています。
各ツイートの感情値を計算して、何かしらの重みづけをした平均値みたいな値ってことでしょうか?


グラフの基本操作は「Buzz Topics」に加え、ここの場合はグラフ内のどこかでクリックするとそのタイミングでのツイートが表示されます。
出てくるツイートは感情の分析結果によって色分けされています。

ただしこれ、どの色がどの感情かの凡例が書いていない……?
内容から推測するに、たぶん
・緑→ポジティブ
・赤→ネガティブ
という内容になっているのかな……?
ツイートによっては、緑と赤両方の色で抽出されているものもあるようです。
この項目の感想としては、ここでも「Buzz Topics」のところで挙げた内容は継続で、それに加えて以下2点があります。
(1)見方の説明が欲しい。
「sentiment score」がどういう値か、色分けはどちらの色がどちらの感情(意味)か、という程度は説明が欲しいです。どこかにあるのかも知れませんが、少なくともぱっと見では見つけられなかったです。。
(2)抽出数がもう少し欲しい。
やっぱりここも、抽出アルゴリズムが厳しいのか数が少なすぎて参考にしづらいかな、という印象です。
まとめ
今回は、ISIDから実験的に提供された仮想通貨のトレンド情報配信サービス「CRYPTALS」を使ってみて、その使い方と使用感をご紹介しました。
基本的には、チャートの動きとツイート内容の連動を見るツールのようです。
このツールには「Buzz Topics」、「Trend Words」、「Sentiment Analytics」という3つの機能があり、それぞれへの個人的な感想としては以下のような内容でした。(詳細は上にある各項目をご参照ください)
Buzz Topics
(1)チャートの範囲(横軸)をもっと広げて欲しい。
(2)チャートの種類を増やして欲しい。
Trend Words
(1)ビットコイン以外のカテゴリで、実質的にほとんど抽出されない。
(2)抽出されるキーワードが微妙。
Sentiment Analytics
(1)見方の説明が欲しい。
(2)抽出数がもう少し欲しい。
選べるカテゴリとして挙げられている「ビットコイン」、「イーサリアム」、「ネム」、「リップル」というのも、何気に意味深ですよね。
恐らく日本における注目度の高さなんかで選ばれているんじゃないかな。。
こんな感じでレビューしてみましたが、このツールが今後もっと使える面白いサービスになることを期待しています!
ついでに言うと、ある程度の機能は無料で提供してもらえると嬉しいですw
ではでは、今回はこのへんで。
Browser-Solidity(Remix)でEthereumを送金してみる
どうも、ぺろりんです。
今回は、オンライン上で使用するBrowser-Solidity(Remix)でEthereumを送金してみます。
やり方は、いつも通り「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」を参照しながらやってみます。
ただしすこし教科書と環境が違うので、そのへんは探り探りです。
環境に関してはこちらとこちらの記事をご覧ください。
Browser-Solidity(Remix)でのEthereum送金
送金確認コントラクトのデプロイ
まずは教科書にあるコードをそのまま使わせてもらい、コンパイルしてみます。

「function ()」の後ろに「public」がないと警告が出るので、ここで使っている教科書をお使いの方はご注意ください。
これは「Solidity環境の準備で手こずっている話」の内容を参照のこと。
ただ、実はこれでも以下の警告が出ます。。
この警告のリンクを見に行くと以下の内容が表示されるのですが、このままやっても動きそうなので、ひとまずここでは無視して進むことにします。
コンパイルしたのでデプロイしたいのですが、その前にアカウントのアドレスを確認してみましょう。
Run>Accountの横にあるアイコンをクリックしてアドレスをコピーします。
内容をメモ帳に出したのが次の画像です。

さて、デプロイしてみます。


先ほどコピーしたアカウントのアドレスとデプロイ後の情報を比べてみると、fromのところに先ほどのアドレスがあります。

Account部分に戻ってみると、先ほどは「100 ether」だった部分の値が「100」から減っていることがわかります。

まだ送金するETHの指定はしていなかったので、デプロイ時にgasを支払っている分が引かれてるってことかな……?
ためしに 1[wei] を送金してみる
次はRun>Valueに「1 wei」を指定して、右下の「RecvEther」を開いて「(fallback)」を押してみます。



この時点で「recvEther」と「sender」を押すとこんな内容になります。
「recvEther」の値の1ってのを見ると、「recvEther」にETHが送られた感があります。



また、Run>Accountのところの値もさっきより減っています。

別アカウントから 1[wei] を送金してみる
今度はRun>Accountでアカウントを変更して、別のアカウントから 1[wei] 送金してみましょう。



ちゃんとアカウントからもETHが減っています。

……ただし計算が合ってるのかがわからないw
たぶん送金で指定した 1[wei] と、「transaction cost」とか「execution cost」あたりが消費されてそうな気がするんですが、gas priceがわからなくて計算できない。。(「gas price」についてはこちらを参照)
右下の「recvEther」も見てみましょう。今度は「2」になっています。
教科書にも書いている通り、ここは[wei]単位で出るようです。



「recvEther」のところの「0:」は、下の「sender」にある「address」と紐づいているのかな……??
一応確認してみると、初めに選んでいたアカウントのETHは特に減っていませんでした。

こんな感じで、とりあえず送金はうまくできました。
まとめ
今回は、送金確認用のコントラクトをデプロイして、(たぶんそのコントラクトに向けて?)ETHを送金してみました。
アカウントを変更して送金することもやってみて、ちゃんと選んだアカウントから送金着にETHが減っているところも確認できました。
徐々にではありますが、一応なりともBrowser-Solidity(Remix)の基本的な動きが見れてきた気がします。
ではまた次回へ。
今回は、オンライン上で使用するBrowser-Solidity(Remix)でEthereumを送金してみます。
やり方は、いつも通り「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」を参照しながらやってみます。
ただしすこし教科書と環境が違うので、そのへんは探り探りです。
環境に関してはこちらとこちらの記事をご覧ください。
Browser-Solidity(Remix)でのEthereum送金
送金確認コントラクトのデプロイ
まずは教科書にあるコードをそのまま使わせてもらい、コンパイルしてみます。

「function ()」の後ろに「public」がないと警告が出るので、ここで使っている教科書をお使いの方はご注意ください。
これは「Solidity環境の準備で手こずっている話」の内容を参照のこと。
ただ、実はこれでも以下の警告が出ます。。
Static Analysis raised 1 warning(s) that requires your attention. Click here to show the warning(s).
この警告のリンクを見に行くと以下の内容が表示されるのですが、このままやっても動きそうなので、ひとまずここでは無視して進むことにします。
Fallback function of contract RecvEther requires too much gas (40541). If the fallback function requires more than 2300 gas, the contract cannot receive Ether.
コンパイルしたのでデプロイしたいのですが、その前にアカウントのアドレスを確認してみましょう。
Run>Accountの横にあるアイコンをクリックしてアドレスをコピーします。
内容をメモ帳に出したのが次の画像です。

さて、デプロイしてみます。


先ほどコピーしたアカウントのアドレスとデプロイ後の情報を比べてみると、fromのところに先ほどのアドレスがあります。

Account部分に戻ってみると、先ほどは「100 ether」だった部分の値が「100」から減っていることがわかります。

まだ送金するETHの指定はしていなかったので、デプロイ時にgasを支払っている分が引かれてるってことかな……?
ためしに 1[wei] を送金してみる
次はRun>Valueに「1 wei」を指定して、右下の「RecvEther」を開いて「(fallback)」を押してみます。



この時点で「recvEther」と「sender」を押すとこんな内容になります。
「recvEther」の値の1ってのを見ると、「recvEther」にETHが送られた感があります。



また、Run>Accountのところの値もさっきより減っています。

別アカウントから 1[wei] を送金してみる
今度はRun>Accountでアカウントを変更して、別のアカウントから 1[wei] 送金してみましょう。



ちゃんとアカウントからもETHが減っています。

……ただし計算が合ってるのかがわからないw
たぶん送金で指定した 1[wei] と、「transaction cost」とか「execution cost」あたりが消費されてそうな気がするんですが、gas priceがわからなくて計算できない。。(「gas price」についてはこちらを参照)
右下の「recvEther」も見てみましょう。今度は「2」になっています。
教科書にも書いている通り、ここは[wei]単位で出るようです。



「recvEther」のところの「0:」は、下の「sender」にある「address」と紐づいているのかな……??
一応確認してみると、初めに選んでいたアカウントのETHは特に減っていませんでした。

こんな感じで、とりあえず送金はうまくできました。
まとめ
今回は、送金確認用のコントラクトをデプロイして、(たぶんそのコントラクトに向けて?)ETHを送金してみました。
アカウントを変更して送金することもやってみて、ちゃんと選んだアカウントから送金着にETHが減っているところも確認できました。
徐々にではありますが、一応なりともBrowser-Solidity(Remix)の基本的な動きが見れてきた気がします。
ではまた次回へ。
Browser-Solidity(Remi)で既存コントラクトにアクセスしてみる
どうも、ぺろりんです。
前回は、かなり手こずりながらもオンライン版のBrowser-Solidity(Remix)をなんとか動かすことができました。
この環境の使い方を知るために、もう少しいじってみようかと思います。
ひとまず、教科書として使っている「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」でやっている「既存コントラクトへのアクセス」をやるのが今回の目標です。
つまづきながらも一応は目標を達成したので、その紆余曲折をおたのしみくださいw
既存コントラクトへのアクセス
既存コントラクトの作成と警告の対処
既存コントラクトにアクセスするための事前準備として、まずは前回と同じ要領で、アクセス先のコントラクトとして1つコントラクトを作ってみましょう。
……というわけでブラウザのキャッシュを消して前回と同じことをやってみたら、また別の警告が!

警告内容は以下のようなものです。
ググってみると、どうも上の画像にある記法は非推奨だとか。
参考サイトによれば、コントラクトと同じ名前の関数名でコントラクタを定義するのはだめで、constructorと書きなさいってことみたいです。
まだコンストラクタなどがよくわかってないですが、やってみるとうまくいきました。

ためしにデプロイしてsetGreetingに文字を入れ、greetingとかsayとかをポチポチ押してみます。

とりあえずうまくいったっぽい……。
これでアクセス先のコントラクトは用意できました。
(参考)
・Ethereum: Solidity v0.4.23〜 の新しいコンストラクタの書き方(Qiitta)
既存コントラクトにアクセスしてみる
さて、教科書と微妙に違う環境で教科書通りに進もうとしてるので探り探りですが、次は既存コントラクトにアクセスしてみます。
既存コントラクトにアクセスするためには、アクセス先の既存コントラクトのアドレスを知る必要があります。
まずコントラクトアドレスってどれだってことで、半分勘に頼りながら探ってみます。。
同じHelloWorldさんをもう一つデプロイして、別の文字「へろー」をsetGreetingに入れたものを作ってみました。

先ほどの図の右下の赤枠で、いかにもこの2つ目(setGreetingに「へろー」と入れた方)のアドレスをコピーできそうなところがあります。
で、プロンプト的な画面のなかで、こいつをデプロイした行がどれかと探るわけですが、「creation of HelloWorld pending...」というデプロイ中っぽい行の後に、「HelloWorld」の文字が。
三角マークを押して開いてみて、「contractAddress」にある値と、先ほど右下の赤枠でコピーした内容(上の画像のメモ帳参照)を比べてみると一致します。
なのでまぁ、、さっきの右下の赤枠でコピーできるのが、その時デプロイしたコントラクトのアドレスっぽいかな、という予想のもとすすんでみます。
先ほどは2つ目のコントラクトアドレスを見ていましたが、今度は3つ目のHelloWorldをデプロイして1つ目のコントラクト(HelloWorld)にアクセスすることを目指してみます。
例によって、1つ目のHelloWorld(setGreetingに「Helloはろー」と入れた方)で、コントラクトアドレスをコピーします。

ここでコピーした内容を、Deployボタンの下にあるボックスにペーストして、「At Address」ボタンを押してみます。

「At Address」を押して出てきた(デプロイされた)3つ目のHelloWorldで、setGreetingに“何も入力せず”にgreetingとsayを押してみます。
すると、1つ目のHelloWorldでsetGreetingにあった「Helloはろー」というのが出てきました。

これで、既存コントラクトへのアクセスができた……気がしますw
まとめ
今回は、Browser-Solidity(Remix)をオンライン上で使い、あらかじめデプロイしたコントラクトに(紆余曲折のすえ)アクセスする(既存コントラクトへのアクセス)ということをやってみました。
既存コントラクトの準備中「Defining constructors as functions with the same name as the contract is deprecated.」という警告に出くわしたので、その対処もしました。
一応なりとも目標だった「既存コントラクトへのアクセス」はできましたが、だいぶのんびり進んでいますねw
まぁまったりとやっていきます。では今回はこのへんで。
また次回~。
前回は、かなり手こずりながらもオンライン版のBrowser-Solidity(Remix)をなんとか動かすことができました。
この環境の使い方を知るために、もう少しいじってみようかと思います。
ひとまず、教科書として使っている「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」でやっている「既存コントラクトへのアクセス」をやるのが今回の目標です。
つまづきながらも一応は目標を達成したので、その紆余曲折をおたのしみくださいw
既存コントラクトへのアクセス
既存コントラクトの作成と警告の対処
既存コントラクトにアクセスするための事前準備として、まずは前回と同じ要領で、アクセス先のコントラクトとして1つコントラクトを作ってみましょう。
……というわけでブラウザのキャッシュを消して前回と同じことをやってみたら、また別の警告が!

警告内容は以下のようなものです。
browser/sample.sol:6:2: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
function HelloWorld(string _greeting) public {
^ (Relevant source part starts here and spans across multiple lines).
ググってみると、どうも上の画像にある記法は非推奨だとか。
参考サイトによれば、コントラクトと同じ名前の関数名でコントラクタを定義するのはだめで、constructorと書きなさいってことみたいです。
まだコンストラクタなどがよくわかってないですが、やってみるとうまくいきました。

ためしにデプロイしてsetGreetingに文字を入れ、greetingとかsayとかをポチポチ押してみます。

とりあえずうまくいったっぽい……。
これでアクセス先のコントラクトは用意できました。
(参考)
・Ethereum: Solidity v0.4.23〜 の新しいコンストラクタの書き方(Qiitta)
既存コントラクトにアクセスしてみる
さて、教科書と微妙に違う環境で教科書通りに進もうとしてるので探り探りですが、次は既存コントラクトにアクセスしてみます。
既存コントラクトにアクセスするためには、アクセス先の既存コントラクトのアドレスを知る必要があります。
まずコントラクトアドレスってどれだってことで、半分勘に頼りながら探ってみます。。
同じHelloWorldさんをもう一つデプロイして、別の文字「へろー」をsetGreetingに入れたものを作ってみました。

先ほどの図の右下の赤枠で、いかにもこの2つ目(setGreetingに「へろー」と入れた方)のアドレスをコピーできそうなところがあります。
で、プロンプト的な画面のなかで、こいつをデプロイした行がどれかと探るわけですが、「creation of HelloWorld pending...」というデプロイ中っぽい行の後に、「HelloWorld」の文字が。
三角マークを押して開いてみて、「contractAddress」にある値と、先ほど右下の赤枠でコピーした内容(上の画像のメモ帳参照)を比べてみると一致します。
なのでまぁ、、さっきの右下の赤枠でコピーできるのが、その時デプロイしたコントラクトのアドレスっぽいかな、という予想のもとすすんでみます。
先ほどは2つ目のコントラクトアドレスを見ていましたが、今度は3つ目のHelloWorldをデプロイして1つ目のコントラクト(HelloWorld)にアクセスすることを目指してみます。
例によって、1つ目のHelloWorld(setGreetingに「Helloはろー」と入れた方)で、コントラクトアドレスをコピーします。

ここでコピーした内容を、Deployボタンの下にあるボックスにペーストして、「At Address」ボタンを押してみます。

「At Address」を押して出てきた(デプロイされた)3つ目のHelloWorldで、setGreetingに“何も入力せず”にgreetingとsayを押してみます。
すると、1つ目のHelloWorldでsetGreetingにあった「Helloはろー」というのが出てきました。

これで、既存コントラクトへのアクセスができた……気がしますw
まとめ
今回は、Browser-Solidity(Remix)をオンライン上で使い、あらかじめデプロイしたコントラクトに(紆余曲折のすえ)アクセスする(既存コントラクトへのアクセス)ということをやってみました。
既存コントラクトの準備中「Defining constructors as functions with the same name as the contract is deprecated.」という警告に出くわしたので、その対処もしました。
一応なりとも目標だった「既存コントラクトへのアクセス」はできましたが、だいぶのんびり進んでいますねw
まぁまったりとやっていきます。では今回はこのへんで。
また次回~。