最近スマートコントラクト開発を勉強しているのですが、コントラクト、web3jコール(Vueコール)、web3jコール(Javaコール)の開発が完了したので、スマートコントラクトの開発プロセスと注意点をサクッと記録していきます。私がスマート コントラクトに使用する開発言語は Solidity です。
基本的なインストール
1 つ目は基本環境のインストールです。サーバーなどの純粋なオペレーティング環境の場合は、
jdk
nodejsをインストールする必要があります。
開発環境の場合は、動作環境に加えて、VSCodeやIDEAなど必要な開発ツールをインストールする必要があります。
Bインストール順序
1 truffle をインストールするための install コマンド
truffle は、Solidity スマート コントラクトをコンパイルおよびデプロイするためのツールです
npm install -g トリュフ
2 ganache-cli コマンドラインをインストールします。
ganache-cli をインストールしてネットワークをテストします。テスト ネットワークの開発がない場合、デフォルトではローカルに接続するため、ネットワークを構成せずに契約を開始することはできません。
npm install -g ganache-cli
インストール後に testnet コマンドを開始します:
ganache-cli -h 127.0.0.1 -p 7545
3 コントラクトプロジェクトフォルダーのコマンドラインでコントラクトのコンパイルとデプロイメントを実行します
truffle コンパイル
truffle 移行 または truffle デプロイ
完了後、コントラクトのデプロイメントが開始され、コントラクトはさまざまな形式で呼び出すことができます。コマンド ライン呼び出しは次のとおりです: truffle
console
>let h=await hello.deployed()
>h.getRecord()
>h.setWallet ('1',2')
> h.contains('1')
デプロイされたコントラクトは他のアプリケーション (Vue、Java) によって呼び出されることを望んでおり、必要な手順を実行する必要があります。たとえば、Java を呼び出したい場合は、何を行う必要があります:
abi ファイルをコンパイルし、sol を bin および abi として出力すると、ツールはこれら 2 つのソース ファイルを使用して Java コード
solcjs --bin --abi hello.sol -o ./を出力します。
Web3j クライアント コマンド ラインは、bin+abi を Java の Java コードとして出力し、
web3j Solidity generated --javaTypes hello_sol_hello.bin hello_sol_hello.abi -o ./ -p com.test を呼び出します。
生成コマンドが完了すると、Hello_sol_hello.Java ファイルが生成され、Java プロジェクトで呼び出すことができます。
C はコントラクトによって呼び出される jar パッケージを開始します
コントラクトの呼び出しに Java を使用しているため、必要な Java プログラムが起動されます。
Java呼び出しの完全なコードは載せませんが、ここで注意が必要なのですが、呼び出しコントラクトはコントラクトのアドレスをパラメータとして渡す必要があり、ウォレット情報も初期化する必要があるのではないでしょうか。ウォレット情報、ウォレットがリッチであることを確認してください。 はい、ganache が提供するテスト ネットワークでテスト ウォレット アカウント キーを直接使用できます。
D その他のチュートリアルのリファレンス
web3js運用契約
https://www.qikegu.com/docs/5139#google_vignette
コマンドラインとコントラクトの相互作用
https://learnblockchain.cn/docs/truffle/getting-started/interacting-with-your-contracts.html
コントラクト展開コマンドライン
https://learnblockchain.cn/docs/truffle/quickstart.html
フロントエンドは web3js を通じてコントラクトを呼び出します
https://cloud.tencent.com/developer/article/1905480
Web3js はスマート コントラクトと対話します
https://www.qikegu.com/docs/5139
Java はスマート コントラクトと対話します
https://gitee.com/mirrors/web3j/tags?page=3
コマンドラインとコントラクトの相互作用
https://learnblockchain.cn/docs/truffle/getting-started/interacting-with-your-contracts.html
truffle のインストール
https://learnblockchain.cn/docs/truffle/getting-started/installation.html