Cadence / Flow
NFTが得意とされるFlowブロックチェーンの記述言語、Cadence(ケーデンス)を試してみました。(音楽用語のカデンツのことですね)
https://docs.onflow.org/cadence/tutorial/01-first-steps/
CadenceにはPlaygroundが用意されており、これを使ってFlowの特徴であるアカウントごとのストレージについてチュートリアルを実行して理解を深めました。
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc01.png)
まずは、単純な文字列を表示するだけのプログラムです。上記コントラクトをデプロイします。左に表示されているのはアカウントで、0x01からアドレスがふられています。これは0x01にプログラムとしてデプロイしたのでコントラクト名Helloがアドレスの下に表示されます。(言語はSwiftに似ている)
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc01t.png)
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc02-1024x272.png)
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc02t.png)
保存されたリソースが実行できることを確認します。loadしたリソースは戻すか破棄する必要があるようです。次に他のアカウントからアクセスできる方法を考えます。
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc03t1-1024x417.png)
0x02アカウントのストレージにあるリソースをloadするのではなく、linkを取得します。ためしに0x03アカウントでトランザクションを送信しますがエラーになりまだアクセスできません。
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc03t2-1024x415.png)
0x02アカウントで送信するともちらん成功しました。
![](http://bitlife.me/bc/wp-content/uploads/2022/01/cdc04t-1024x551.png)
他のアカウントからアクセスするためには、少しトランザクションを変更したものを用意し送信してみます。今度は成功しました。
このような感じで、Playgroundではアカウントの切り替えなど直感的で、Flowのしくみを学ぶことができます。NFTが得意とされているようですので、また次の機会に試してみたいと思います。
参考動画