我将truffle-contract与本地quorum节点一起使用,并尝试执行智能契约方法,但是得到了以下错误:
错误:数字只能安全地存储多达53位。
我就是这么做的:
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:22000'));
const ContractJSON = require('./build/contracts/MyContract.json');
//setting up for truffle-contract
var MyContract = truffleContract({
abi: ContractJSON.abi,
unlinked_binary: ContractJSON.bin,
address: ContractJSON.address
});
MyContract.setProvider(web3.currentProvider);
var contract;
MyContract.deployed().then(instance => {
contract = instance;
contract.myContractMethod(
web3.utils.toHex('abc123'), //bytes32
Number(123)); //uint256
})
.then(result => { console.log("RESULT " + result); })
.catch(err => { console.log("ERROR! " + err); });契约本身可以工作,我也可以使用truffle console与其交互,但truffle-contract给出了上述错误。我做错了什么?
发布于 2019-01-19 22:46:01
这是一个问题,与新的特鲁弗版本(使用在仲裁)。
truffle v5和truffle-contract v4不工作。
使用最新的v3 truffle-contract@3.0.7解决了这个特殊问题。
发布于 2019-05-21 19:14:41
在许多博客中,我发现这是一个特鲁弗版本的问题。松露v5会造成这种类型的问题。他们建议降级为块菌@4.1.15。
对我来说,情况并非如此。我继续使用松露v5。我已经解决了,当我寄出一笔交易时,检查我的汽油限额。gasLimit: web3.utils.toHex( gas_limit ),//为这项交易提供的最大气体(气体限制)
节点: v8.11.4信托: 5.0.12 Web3: 1.0.0-beta.52信托-合同: 4.0.11信托-接口-适配器@0.1.2│└──web3 3@1.0.0-beta.37└──web3@1.0.0-beta.37 Ganache-cli: v6.4.3 (ganache-core: 2.5.5)
https://ethereum.stackexchange.com/questions/65805
复制相似问题