web3.js调用智能合约
时间: 2023-09-23 21:04:33 浏览: 85
要使用 web3.js 调用智能合约,需要先连接到一个以太坊节点。可以使用以下代码连接到一个节点:
```javascript
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545'); // 这里需要替换为你的节点地址
```
接着,需要使用智能合约的 ABI 和地址初始化一个智能合约实例:
```javascript
const abi = [
// 这里需要替换为你的智能合约 ABI
];
const address = '0x1234567890123456789012345678901234567890'; // 这里需要替换为你的智能合约地址
const contract = new web3.eth.Contract(abi, address);
```
现在就可以调用智能合约的方法了。例如,如果有一个名为 `transfer` 的方法,可以像这样调用:
```javascript
contract.methods.transfer('0x1234567890123456789012345678901234567890', 100)
.send({ from: '0x0987654321098765432109876543210987654321' })
.then((receipt) => {
console.log(receipt);
});
```
其中,第一个参数是目标账户地址,第二个参数是转账金额。`send` 方法用于发送交易,需要指定交易发起账户地址。交易发送成功后,会返回一个交易收据对象。
阅读全文