まず、Remixを使用してブロックチェーンに契約を展開しようとした場合。そして、作成した契約に作成したAPIを使用しました。実際には、Webで契約とやり取りしています。このビデオをスキミングして、契約内にコール機能を導入して使用する方法を確認できます。このvideoを見てits tutorial hereを実行することをおすすめします。
機能を呼び出す場合は(公開)契約を使用できるように3つの手順があります。
ステップ1:Blockchainに契約を展開し、ABIと契約アドレスを探します。たとえば、契約を展開するためにリミックスを使用した場合は、[コンパイル]タブの詳細をクリックしてこれらの情報を表示します。

STEP TWO:web3を使用し、Webブラウザに注入(Metamaskをインストールし、あなたがweb3が既にブラウザに注入されてい)
STEP 3:web3を設定することで、インスタンスのような契約のAPIを作成しますプロバイダとABIとステップ1から取得した契約アドレスを入力します。
ステップ4:契約機能を呼び出します。ここで
あなたはweb3がすでに注入され、あなたが右blockchainに接続されていることを確認してください方法です(TestNet/MainNet)ここで
var Web3 = require('web3');
if (typeof web3 !== 'undefined') {
// Use Mist/MetaMask's provider
console.log('Web3 exist!')
console.log(web3)
web3 = new Web3(web3.currentProvider);
web3.version.getNetwork((err, netId) => {
switch (netId) {
case "1":
console.log('This is mainnet')
break
case "2":
console.log('This is the deprecated Morden test network.')
break
case "3":
console.log('This is the ropsten test network.')
break
default:
console.log('This is an unknown network.')
}
})
} else {
console.log('No web3? You should consider trying MetaMask!')
// fallback - use your fallback strategy (local node/hosted node + in-dapp id mgmt/fail)
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
はあなたの展開の契約と対話することができる方法です。
var fooContract = web3.eth.contract(YOUR_ABI, (err, ctr) => { return ctr});
web3.eth.defaultAccount = web3.eth.accounts[0];
$scope.accounts = web3.eth.accounts;
console.log(web3.eth.defaultAccount);
var CONTRACT = fooContract.at('YOUR_Deployed_contract_ADDRESS',(err, ctr)=>{
return ctr;
})
今すぐCONTRACT変数を使用して、そのパブリック関数を呼び出すことができます。
コールは次のようになります。
CONTRACT.contractFunction(params)
PSは:あなたが質問や問題がある場合はご連絡ください(これは、1つの記事ですべてを説明するのは難しいです)!
ありがとう!素晴らしい説明。私は今までMetaMaskを知らなかった。 –