13

go ethereum の wiki の例に従って、基本的なコントラクトを作成しようとしています: https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions

最後の行まで降りるまで、すべてが機能しているようです。

source = "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"
contract = eth.compile.solidity(source).test
primaryAddress = eth.accounts[0]

# **Problems start here **
MyContract = eth.contract(abi);
contact = MyContract.new(arg1, arg2, ...,{from: primaryAddress, data: evmCode})

eth.contract メソッドの "abi" 引数は何ですか? また、「evmCode」引数には何を入れますか? この特定の例では、「arg1」に整数を入れるように見えますが、完全な例がどのように見えるかはわかりません。

4

5 に答える 5

18

ABI は、コントラクトが公開するインターフェイスです。「evmCode」は、コントラクトの Ethereum バイト コードです。

問題を回避するには、https: //chriseth.github.io/browser-solidity/ に移動し、Solidity をプラグインします。右側の Bytecode フィールドには「evmCode」の値が表示され、Interface には ABI が表示されます。 .

「Web3 deploy」からスニペットをコピーしてコードに貼り付け、コントラクトをデプロイすることもできます。

于 2015-11-29T03:01:29.070 に答える
2

ABI は基本的に、どのメソッドを呼び出すことができるかを示す公開インターフェイスです。abi を取得する最も簡単な方法は、https://remix.ethereum.orgを使用することです。コードを貼り付けて [Contract] タブに貼り付けるだけです。列の下部に、基本的に ABI json である [Contract details] というリンクがあります。

逆にcontracts.Introduction.interface、web3 の api を使用して abi を取得することもできます。

于 2018-06-29T13:10:55.653 に答える
2

ABI は、java スクリプトを使用して読み取ることができるスマート コントラクトの表現です。イーサラムにデプロイされたコントラクト アカウントからデータを読み取るには、abi などの追加の詳細が必要になります。

スマート コントラクトの abi を取得する手順:

1.各コントラクトには、0x0D8775F648430679A709E98d2b0Cb6250d2887EFのようなコントラクト ハッシュ アドレスがあります。

2.etherscan.io にアクセスし、検索バーでコントラクト アドレス ハッシュを検索すると、コントラクトが取得されます。

3.契約では、コードに移動すると、この abi を見つけることができます

このリンクをチェックして abi を見つけることができます

于 2021-06-03T07:29:42.073 に答える
1

Etherlime shapeや Truffle box などのツールを使用して、js へのコントラクト、テスト、および使用法を含むサンプル プロジェクト全体を試すことができます。ここから先に進むことができます。

于 2019-10-18T07:39:28.577 に答える