Chúng ta cần hai thứ để tương tác với một contract bất kỳ: address và ABI của contract.
- Contract ABI: viết tắt của Application Binary Interface. Về cơ bản nó là dạng biểu diễn JSON của contract và sẽ được tạo ra trong quá trình biên dịch.
- Contract address: là địa chỉ của smart contract sau khi nó được deploy lên blockchain. Địa chỉ này là cố định.
Hai giá trị này có thể có dạng như sau:
const { abi } = require('./build/contracts/MyContract.json');
const deployedAddress = '0x56cBc45068D84dE56Dd964956983Bc8145A17E28';
Sau khi có ABI và contract address thì ta khởi tạo instance của contract như sau:
var MyContract = new web3.eth.Contract(myABI, myContractAddress);