首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >松露-合同错误:数字只能安全存储最多53位。

松露-合同错误:数字只能安全存储最多53位。
EN

Ethereum用户
提问于 2019-01-19 15:14:51
回答 2查看 1.8K关注 0票数 1

我将truffle-contract与本地quorum节点一起使用,并尝试执行智能契约方法,但是得到了以下错误:

错误:数字只能安全地存储多达53位。

我就是这么做的:

代码语言:javascript
复制
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给出了上述错误。我做错了什么?

EN

回答 2

Ethereum用户

发布于 2019-01-19 22:46:01

这是一个问题,与新的特鲁弗版本(使用在仲裁)。

truffle v5和truffle-contract v4不工作。

使用最新的v3 truffle-contract@3.0.7解决了这个特殊问题。

票数 2
EN

Ethereum用户

发布于 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)

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/65805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档