1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flow blockchain / Cadence version1.0ドキュメント

Last updated at Posted at 2024-11-04

ⓘ このドキュメントは、Flow blockchainによるDApp(分散型アプリケーション)構築の始め方ドキュメントの完全翻訳ページです。

  1. flow developers
  2. Cadenceの言語仕様を学ぶ
  3. Flow CLI と FCL
  4. 開発方法
  5. 脚注

flow developers

Flow blockchainは、Crypto Kitties 、NFT(ERC-721)を開発してきて、日本にも馴染みの深いDieter Shirleyという人が開発したブロックチェーンで、CadenceはFlowブロックチェーンのスマートコントラクトを作成する為のプログラミング言語です。

米金融大手VISAは、NFTの人気が最も高かった2021年に出したホワイトペーパーの中で、NFTに相応しいブロックチェーンとしてイーサリアムとFlowを挙げています。今も「Visa whitepaper for NFT in 2021」でGoogle検索するとその資料[1]が出てきます。

クリックすると各ページに飛びます

Cadenceの言語仕様を学ぶ

Cadence(version1.0) は、Flow blockchain 上でスマートコントラクトを作る際の現行のプログラミング言語です。ブロックチェーン上で作成したアカウントに紐づくストレージに、Pathという論理パスを作り、そこにスマートコントラクトで作成したリソースやCapabilityを保存し、スマートコントラクトに対してリソースからアクセスすることで、デジタル通貨などを条件に沿ってやり取りできるようになります。

Cadence v1.0のコードサンプルについては開発方法をご覧ください

Flow CLI と FCL

WebブラウザーやNode.jsからブロックチェーンに対してトランザクションを実行するには Flow Client Library(fcl) を使用します。アカウントを作成したりスマートコントラクトをデプロイする時には Flow CLI を使用することができます。

開発方法

ブロックチェーンには値を変更しない Scripts と値を変更する Transactions という2種類のブロックチェーンノードに対するAPI Callがあります。これらを駆使してdappを作成していきます。 

以下の記事は、X上で紹介され、Flow公式にリポストされました。

ブロックチェーンウォレットにはローンチ時からウォレットSDKで実績のある Blocto があります。JavaScriptで簡単にBloctoウォレットを呼び出す事ができ、トランザクションもJavaScript で簡単に行う事が出来ます。バックエンドではNode.jsでトランザクションを実行することが出来ます。

Blockエクスプローラには Flow Diver↗︎ があり、トランザクション結果を素早く確認する事が出来ます。 Contract Browser↗︎ ではスマートコントラクトやトークンなどを確認したり、直接スマートコントラクトをデプロイすることが出来ます。 flowview↗︎ ではトークンやステーキングなどのアカウント情報を簡単に確認することができます。

ハンヅオンで学べる書籍もあります。 こちら↗︎ (Version1.0ではないですが、先端的技術を使用します!)
本の特徴: ブロックチェーンのトランザクションは送信から情報取得までに7-10秒かかります。それを時間を感じさせなくする為には、バックエンドにGraphQLサーバーを採用することが考えられます。GraphQLは大人数による同時接続通信が可能なので、ゲームで何をしたのかを対戦相手に前もって通知することができます。(YouTube動画の右下部分)
GraphQL はAWS Lambdaと相性が良く(特に金銭面で)、ブロックチェーンにもスムーズにトランザクションを送れる利点があります。Svelteは他にも良い本がありますが、AWS LambdaをGraphQLサーバーとしてローコストで立ち上げる方法をきちんと図つきで説明している媒体は数少ないです。インフラを自分で立ち上げたことがある人なら本書を読みながら簡単に、低コスト・バックエンドのセットアップが可能です。(個人出版ですので、図とコードが中心となってますのでレビューは限りなく甘めでお願いします🙇🙇‍♂️)

この動画のロジックは全てスマートコントラクトに書かれてます。画面上に出ている情報は全てブロックチェーンから取得したものです。(注:画像ファイルはSvelteフレームワークで管理しています)

こちらのQiitaアカウント<@flowcadence>のドキュメントは無断転載OKです。

脚注

1: https://usa.visa.com/dam/VCOM/regional/na/us/Solutions/documents/visa-nft-whitepaper.pdf

スクリーンショット 2024-12-20 18.53.57.png

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?