우선 Remix을 사용하여 블록 체인에 계약을 전개하려고 시도한 경우. 그리고 생성 된 계약서에 작성한 API를 사용했습니다. 실제로 웹을 통해 계약서와 상호 작용합니다. 이 비디오를 훑어 보면 계약 내에서 통화 기능을 배포하고 사용하는 방법을 알 수 있습니다. 이걸 video으로보고 its tutorial here을 해보시기 바랍니다.
함수 (공개)를 호출하려는 경우 계약을 사용할 수 있도록 세 단계가 있습니다.
단계 1 : Blockchain에 계약을 전개하고 ABI 및 계약 주소를 찾으십시오. 예를 들어, 계약 전개를 위해 리믹스를 사용한 경우, 컴파일 탭의 세부 사항을 클릭하여이 정보를 볼 수 있습니다.
단계 : web3를 설정하여 인스턴스를 같은 계약 API를 만들기 : web3를 사용하고 웹 브라우저에 주입
STEP 세 (당신이 web3 이미 브라우저에 주입이 다음 Metamask 설치) 공급자 및 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)
추신 : 당신이 어떠한 질문이나 문제가 있으면 저에게 연락하십시오 (그것은 하나 개의 게시물을 모두 설명하기 어렵다)!
감사합니다. 좋은 설명. 나는 지금까지 MetaMask를 몰랐다. –