web3.js简介
web3.js是一个JavaScript API库,要使DApp在以太坊上运行,我们可以使用web3.js库提供的web3对象。web3.js通过RPC调用与本地节点通信。
安装web3
cnpm install web3
编写转币脚本
var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider("http://192.168.10.30:8545"));
// 判断是否连接
// web3.isConnected()
var arguments = process.argv.splice(2);
var _from = "0x197f9a76706a5189d0adc6277235399664067519";
var _to = arguments[0];
var _value = arguments[1];
web3.eth.sendTransaction({from: _from, to: _to, value: _value}, (err, res) => {
if (err) {
console.log("Error: ", err);
}
else {
console.log("Result: ", res);
}
});
测试
1、运行以下脚本:
node transfer.js 0x13722c70d5f5e5e22593ca4eb0df3e41b14759c6 10000000000
2、第一次会报错:Error: Returned error: authentication needed: password or unlock
,先在控制台解锁账户:
> personal.unlockAccount(eth.accounts[0], '123456', 3600)
3、再次运行第一步,正常会输出:
Result: 0xb52d66eac4c47457aa6b1ec33cc4766d967853d73f88c085cd3304c1efbf270a
4、查看账户余额:
> eth.getBalance("0x13722c70d5f5e5e22593ca4eb0df3e41b14759c6")
5、启动挖矿
> miner.start(1)
6、再次查看账户余额,可以看到已转账成功。