blockchain实践错误及解决方法

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

Solidity编程错误

1.错误: VM error : Invalid opcode.

解决:可能是涉及assert的语句不满足;

2. str to bytes32 会变成0x 30 23 45 65 62 ....这种;

 见Solidity string, bytes, byte32

3. contracts可以接受bytes32[] 作为输入 eg., ["0x....", "0x....."]

4. VM error: revert revert the transaction to initial state.

解决:查看可能触发revert语句;可能是gas不足;

注意在msg.sender.transfer之前合约中要有ether, 之前调用过payable function,将msg.value转入合约。

5. storage赋值相当于指针指向一块内存,对象同时改变,永久存储在区块链。memeory只是创造副本,值传递。

 

web3和contract交互:

1. TypeError: web3.eth.Contract is not a constructor错误

解决:请检查你的web3.js版本:

如果version<1.0.0,使用: web3.eth.contract(studentFactoryArtifact,address);// 注意contract小写

如果version>1.0.0,使用:new web3.eth.Contract(studentFactoryArtifact,address); // 注意web3版本区别

 

2. MetaMask链接不上http://localhost:8545网络

解决: 启动geth时加上  --rpccorsdomain="moz-extension://dd70654e-21bd-4a65-ae05-12b15d937823" 这是插件在FireFox的ID

 

3.npm start启动不了,no such file ...package.json

解决:查看执行npm start的目录,是否有node_modules/和package.json文件,需要在它的安装目录下执行这个命令。

需要先npm install; 修改truffle-config.js文件;最后npm run dev.

 

4.注意$(window).load() 和 $(window).on('load', function{})后者才适用于jquery-3.3.1.min.js及以上版本

 

5.在JS文件中调用contract的方法报错 TypeError: t.forEach() is not a function

解决:涉及到数组操作,查看输入参数的类型是否是Array(eg. byte[]); 这种入参必须输入array: ["a", "b"].

 

6. 报错Metamask no conversation rate; gas limit must 2100;   (Metamask估计EstimateGas出错了;)

报错 ERR="already known"//"replacement transaction underpriced";  (和Nonce值有关;)

报错 "gas required exceeds allowance or always failing transaction".

解决:合理控制交易速率,每笔交易最好设置合理的参数{from:"", to:"", gas:} 不断增大gas,直到较快被确认。

具体解释见解决replacement transaction underpriced以太坊交易异常

 

 

 

 



 

 

 

 

 

estimateGas gas required exceeds allowance (6989519) or always failing transaction 在使用estimateGas计算gas的时候报错, Node error: {"code":-32000,"message":"gas required exceeds allowance (6989519) or always failing transaction"} 开始都是参考官网的例子 var result = web3.eth.estimateGas({ to: "0x... 阅读详情

相关推荐

md_blockchain学习过程详解

#md_blockchain学习过程详解 使用项目之前,请先仔细阅读一遍md_blockchain的readme; 如果在后面的运行中遇到错误,先看ERROR的所指之处,检查自己的配置环境,再看代码,可参照代码分支下下载链接对应的“issue”。 下载项目代码 项目是一个聚合项目,分为父项目md_blockchain_manager和子项目md_blockchain。下载链接为: https:...

weixin_43379278的博客 1672

Gas estimation failed Gas required exceeds allowance(解决方案).md

Gas estimation failed Gas required exceeds allowance(解决方案).md

blockchain-explorer搭建区块链浏览器平台

源码地址 https://github.com/hyperledger/blockchain-explorer 安装postsql https://blog.csdn.net/wang1144/article/details/53424043 ubuntu14.04 sudo add-apt-repository &amp;amp;quot;deb http://apt.postgresql.org/pub/repos/a...

weixin_42388551的博客 2380

Gas estimation failed Gas required exceeds allowance解决办法.md

Gas estimation failed Gas required exceeds allowance解决办法.md

区块链 之 以太坊的那些坑

作者:邹祁峰 邮箱:Qifeng.zou.job@hotmail.com 博客:http://blog.csdn.net/qifengzou 日期:2018.04.04 转载请注明来自"祁峰"的CSDN博客 使用以太坊的过程中遇到不少坑,团队成员花了不少时间去研究才找到其中的真正原因.希望此篇能为各位在学习以太坊的过程中少走一些弯路. 主题 描述 ...

做事先做人! 1万+

ethersjs运行时出现的问题

1.在运行部署在ganache1.1.0上的合约中的某个函数时,出现了这样的问题,之前部署在geth上时并没有这样的问题 userdeMacBook-Pro:test-ethers user$ node test-index.js CreateAndBuyToken error :Error: Transaction hash mismatch from Provider.sendTra...

weixin_34019929的博客 869

【源码阅读】blockchain

writeKnownBlock使用已知块更新头块标志并在必要时引入链式重组。

RuRu_Bai的博客 1148

【源码阅读】blockchain

这是一个名为BlockChain的结构体,它包含了区块链的各种属性和方法

RuRu_Bai的博客 728

vscode 失败 连接_blockchain-vscode-extension部署 Fabric 出错的诡异解决方法

自从blockchain-vscode-extension Version 1.0.18版本开始,我在家里的Ubuntu18.04环境就没法通过Vscode的blockchain-vscode-extension插件成功部署 Fabric Enviroment,即使重装Ubuntu,安装其他的linux版本,均不能成功部署 Fabric Enviroment,会报如下错误:[2020/3/28 上...

weixin_42116705的博客 309

Azure Blockchain DevKit 常见问题解决方案

Azure Blockchain DevKit 常见问题解决方案 项目基础介绍 Azure Blockchain DevKit 是由微软开源的一个项目,旨在帮助开发者更容易地集成和部署基于 Azure 的区块链解决方案。该项目提供了丰富的示例代码和最佳实践,涵盖了连接、集成、加速器和DevOps等多个方面的内容。主要编程语言包括C#、Java、JavaScript和HTML。 新手常见问题及解决步...

gitblog_00521的博客 814

使用Docker安装blockchain-explorer

目录1. 前言2. 环境搭建2.1 先决条件2.2 配置搭建3. 启动服务 1. 前言 前段时间刚搭建完Fabric环境,Fabric环境搭建请参考HyperLedger Fabric2.2环境搭建及官方测试用例部署 区块链浏览器blockchain-explorer可以可视化区块链网络,比较方便。不过网上资料好像都是使用代码库安装,这里写一下使用Dockr安装教程,两种安装方式GitHub官网都有,可自行参考。 官方GitHub搭建教程 本机环境: Ubuntu18.04 Fabric2.2 2. 环境搭

sinat_36082782的博客 1367

Onion Monero Blockchain Explorer 项目常见问题解决方案

Onion Monero Blockchain Explorer 项目常见问题解决方案 项目基础介绍 Onion Monero Blockchain Explorer 是一个开源的区块链浏览器项目,它旨在解决现有 Monero 区块链浏览器的一些隐私和功能限制。项目完全使用 C++ 编程语言开发,使用 crow 微型 web 框架、mstch 模板、json 库和 fmt 字符串格式化库。该项目支...

gitblog_00562的博客 916

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约

主要学习如何使用Visual studio code 和 IBM blockchain platform extension 来开发,测试和部署一个Hyperledgerfabric2.0智能合约,并且分析遇到的错误。 1、基础环境 windows10安装的虚拟机Ubuntu16.04 环境部署:Hyperledger fabric2.0(并且成功运行了测试网络) 下载Visual Studio code成功后点击下列图标搜索IBM BLOCKCHAIN PLATFORM 安装(自己想要部署.

lppljy的博客 1976

localhost 拒绝了我们的连接请求 vscode_blockchain-vscode-extension部署 Fabric 出错的诡异解决方法...

自从blockchain-vscode-extension Version 1.0.18版本开始,我在家里的Ubuntu18.04环境就没法通过Vscode的blockchain-vscode-extension插件成功部署 Fabric Enviroment,即使重装Ubuntu,安装其他的linux版本,均不能成功部署 Fabric Enviroment,会报如下错误:[2020/3/28 上...

weixin_39602571的博客 625

Flow Blockchain上的可替代代币标准常见问题解决方案

Flow Blockchain上的可替代代币标准常见问题解决方案 1. 项目基础介绍与主要编程语言 本项目是Flow区块链上的可替代代币(Fungible Token)标准的开源实现。Flow是一个新型的公链,旨在构建开放世界,支持去中心化应用的开发。该项目的目的是提供一套安全、易理解且易于使用的可替代代币智能合约标准。它包括了一个示例实现,用于展示一个简单的代币合约是如何根据这个标准来实现的。本...

gitblog_00595的博客 541

强网杯2020 Blockchain IPFS

强网杯2020 Blockchain IPFS 首先观察题干,下载附件后位如下的文本文档。 两张图片分别为pic1.jpg和pic2.jpg。然后pic2给出了文件的sha256sum,pic1被分为6个碎片进行存储,并给了每个碎片的文件哈希。 了解IPFS的人应该知道,IPFS里面文件哈希均以Qm开头。这是因为IPFS采用了MultiHash技术。原理就是在原有哈希值的前面加上sha-256编码(0x12)和32字节的哈希摘要(0x20),并进行base58编码,最终得到Qm开头的哈希地址。因此在本题中

lwq787998189的博客 843

nodejs时间默认显示为UTC格式导致用户误以为blockchain-explorer时间错误

docker exec -it explorer.mynetwork.com sh /opt/explorer # date -R Thu, 10 Sep 2020 17:15:49 +0800 /opt/explorer # node --version v10.19.0 /opt/explorer # node > new Date(); 2020-09-10T09:15:58.785Z > new Date().toLocaleString(); '9/10/2020, 5:16:45

搬山境KL攻城狮的修炼手册 734

Blockchain Tables in Oracle Database 21c

Blockchain Tables in Oracle Database 21c

tc982753194的博客 215

深入 Isaac Lab Newton 克隆(Cloner)模块:从 USD 场景到多环境并行世界的复制架构

Isaac Lab 作为构建于 NVIDIA Isaac Sim 之上的统一机器人学习框架,通过可插拔的物理后端来适配不同的仿真引擎。其中 `isaaclab_newton` 子包封装了基于 Newton 物理引擎的后端实现,而其克隆(cloner)模块则承担了一项关键任务:将 USD 舞台中的源资产高效复制为多个并行仿真世界(environment)。本文以 [isaaclab_newton.c

gitblog_00317的博客 936
上一篇: Solidity string操作
下一篇: IPFS文件地址链上存储
for_ge
博客等级 码龄9年 10粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值