スマートコントラクトのデプロイ
通常は Builder を使ってスマートコントラクトをデプロイすることを推奨していますが、Unity(またはUnity製アプリケーション)からスマートコントラクトをデプロイしたい場合もあることを理解しています。
コントラクトのデプロイはトランザクションの送信を伴い、これは 非同期Task で実行されます。SequenceWallet.DeployContract
を非同期Task内で呼び出す際に await
を使えば、ContractDeploymentReturn
オブジェクトを直接取得できます。もしくは、推奨される方法として、SequenceWallet.OnDeployContractComplete
および SequenceWallet.OnDeployContractFailed
イベント用のハンドラー関数を設定し、どこからでも(awaitなしで)SequenceWallet.DeployContract
メソッドを呼び出すこともできます。
SequenceWallet.DeployContract
は、特別な SequenceWallet.SendTransaction
呼び出しのラッパーであり、そのため SequenceWallet.OnSendTransactionComplete
または SequenceWallet.OnSendTransactionFailed
イベントも追加で受け取ることができます。
Unityでイベントの扱いに慣れていない場合は、この素晴らしい Reddit投稿 をご覧ください。
コントラクトをデプロイするには、まずスマートコントラクトコードをバイトコードにコンパイルし、そのバイトコードを16進数文字列としてC#スクリプトのいずれかに追加する必要があります。
スマートコントラクトをデプロイするには、以下のコードスニペットを利用できます。