調用智能合約函數
一旦你創建了智能合約的實例,你可以使用該實例來調用智能合約的函數。例如,如果你的智能合約有一個名為setData的函數,可以這樣調用它:
const newData = 42;
contract.methods.setData(newData).send({ from: '0xYOUR_WALLET_ADDRESS' })
.on('transactionHash', function(hash){
console.log('Transaction Hash:', hash);
})
.on('receipt', function(receipt){
console.log('Transaction Receipt:', receipt);
})
.on('error', function(error){
console.error('Error:', error);
});
這個例子中,setData函數被調用,並將新的數據42傳遞給它。send函數的from屬性應該是你的以太坊錢包地址。
監聽智能合約事件
如果你的智能合約定義了事件,你可以使用Web3.js監聽這些事件:
contract.events.MyEvent()
.on('data', function(event){
console.log('Event Data:', event);
})
.on('error', console.error);
在這個例子中,MyEvent是智能合約中的一個事件。