环境
solidity 0.5.0
ubuntu16.04
一、如何导入web3j
有很多种引入方法,目前我接触到了
1、在html文件中在script中引入本地的web3j文档,或者引入https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js。
2、在js文件中用require('web3'),来引入当前路径下安装的web3。
二、
如果chrome已经安装了metamask的话,则当前的currentProvider很可能就是默认的metamask。
使用metamask中遇到的坑,一定在设置中把security & privacy。关闭才可以进行操作。否则的话,在进行需要话费gas的操作时,是找不到合约的调用账户的。
三、怎么定位到合约
需要合约地址contractAddress,合约ABI,contractAbi
var contract = web3.eth.contract(contractAbi)
var address = contractaddress
四、调用无参数有返回值的合约方法
contract.method(function(error, result){
if(!error){
console.log(result)
}
})
五、调用有参数有无返回值的合约方法
contract.setInfo(par1, par2, function(error, result){
if(!error){
console.log("set ok");
}
})