web3部署智能合约碰到的一个奇怪问题
都是gasLimit惹的祸 解决一个奇怪问题Error: Number can only safely store up to 53 bits
原来好好的node endpointtest.js ,结果在新的私链上怎么都不能运行了.
这个部署js文件就不上了,很简单.
只要 gas设置稍大一点就报标题的那个错误,但是gas设置小了,又满足不了要求.
经过排查发现时genesis.json指定的gasLimit太大了,导致web3.js在计算的时候出错.
私链的genesis.json
{
"config": {
"chainId": 89120348582,
"homesteadBlock": 1,
"eip155Block": 1,
"eip158Block": 1,
"ByzantiumBlock":1
},
"difficulty": "2",
"gasLimit": "0xff210000000000000",
"alloc": {
"0x1a9ec3b0b807464e6d3398a59d6b0a369bf422fa": { "balance": "30000000000000000000000" },
"0x33df901abc22dcb7f33c2a77ad43cc98fbfa0790": { "balance": "40000000000000000000000" }
}
}
后来修改gaslimit为990000000000000,总算解决问题.看来gaslimit不是随便设置一个就可以的.
太小会造成你的合约经常超出最大限制而无法运行,太大就会出现标题中的问题.
感谢开源软件,可以添加一些调试信息来发现错误.
web3部署智能合约碰到的一个奇怪问题的更多相关文章
- 如何用web3部署智能合约
合约示例 pragma solidity ^0.4.18; contract CallMeChallenge { bool public isComplete = false; function ca ...
- nodejs部署智能合约的方法-web3 0.20版本
参考:https://www.jianshu.com/p/7e541cd67be2 部署智能合约的方法有很多,比如使用truffle框架,使用remix-ide等,在这里的部署方法是使用nodejs一 ...
- Web3与智能合约交互实战
写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互.这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指望普通用户通过命令行使用Dap ...
- 在testrpc以太坊测试环境部署智能合约
2018年03月13日 09:20:54 思无邪-machengyu 阅读数 2683 版权声明:本文为博主原创文章,转载请务必注明出处,否则追究法律责任 https://blog.csdn.ne ...
- 使用Truffle 部署智能合约
使用Truffle 部署智能合约 之前我们使用Geth,原生的以太坊Golang工具,分析了创世区块的参数内容,在本地创建了私有以太坊区块链,并使用两个账户进行了挖矿和转账操作,对以太坊有了基本了解. ...
- Eth 部署智能合约
首先要开发以太坊的智能合约,需要EVM(以太坊虚拟机),也就是需要运行的环境,我们可以通过 geth 来设置开发环境: geth --datadir testNet --dev console 2&g ...
- 部署WebService服务碰到的一个小问题
在部署WebService服务到IIS上之后,发现一直无法在浏览器访问到编写的asmx文件,一直提示404或403错误.提示当前访问的文件时脚本文件. 1.首先检查了在IIS上部署WebService ...
- 使用web3部署一个比较复杂的智能合约
以太坊系列之二十一 使用web3部署比较复杂的智能合约 搭建私链上的雷电网络 以太坊系列之二十一 使用web3部署比较复杂的智能合约 1 雷电网络智能合约简单介绍 2 remix 无法部署使用了lib ...
- day02 智能合约
上午 1>部署智能合约网络 语法 require 2>利用第三方的节点 同步到以太坊 3>智能合约部署的步骤: 1.查看区块 2.发布合约 deploy后台经历的事情:就是部署合约的 ...
随机推荐
- EasyUI TreeJson
1. TreeJson str = GetTreeJsonByTable(dt, "); StringBuilder treeResult = new StringBuilder(); St ...
- mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
报错详情: WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) ...
- hadoop中unhealthynodes的问题解决
在yarn-site.xml中加入如下配置 <property> <name>yarn.nodemanager.disk-health-checker.min-heal ...
- leetcode700
class Solution { public: TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL) { return n ...
- 用户“*****”不具有所需的权限。请验证授予了足够的权限并且解决了 Windows 用户帐户控制(UAC)限制问题。
错误: 用户“ts\***”不具有所需的权限.请验证授予了足够的权限并且解决了 Windows 用户帐户控制(UAC)限制问题. 解决: 当从客户端用IE连接http://xxx.xxx.xxx.xx ...
- 图论算法》关于SPFA和Dijkstra算法的两三事
本来我是想把这两个算法分开写描述的,但是SPFA其实就是Dijkstra的稀疏图优化,所以其实代码差不多,所以就放在一起写了. 因为SPFA是Dijkstra的优化,所以我想来讲讲Dijkstra. ...
- laravel tinker测试模型添加属性
php artisan tinker 新建一个模型对象 $post=new \App\Posts(); 给对象的属性挨个赋值 $post->title="this is title&q ...
- cocos2d-x 初探helloWorld
cocos2d-x的main函数代码很少,把一些复杂的接口封装到AppDelegate类里了,“AppDelegate”从词意可以得出是app的代理类,而一些最早的场景都会在AppDelegate类里 ...
- Java 基于quartz实现定时 之二(XML方式配置)
<!-- 在spring核心配置文件中进行如下配置 --> <!-- Spring基于quartz定时任务 --> <bean id="triggerByBea ...
- Smarty3——从配置文件获取的变量
再使用配置变量前要 引入配置变量即:{$config_load file=‘file_path’}$marty3中可以从配置文件中 用 # 号包起来引用配置文件中的变量({#config_var_na ...