web3js和geth
文章平均质量分 66
web3js
xxx_undefined
这个作者很懒,什么都没留下…
展开
-
DApp项目-基于truffle的简单投票合约-1
简介基于以太坊开发投票系统DApp,在基础投票功能的基础上,增加了基于自定义token进行投票的功能;另外还涉及到了以太坊开发框架truffle的使用。通过一个完整的DApp的开发,将以太坊理论和实践紧密结合起来,可以使学习者对以太坊上的DApp开发有更加全面充分的认识,进而对整个区块链技术有更深刻的理解。基础准备需先掌握以下基础知识:truffle框架环境...原创 2020-09-02 16:58:40 · 981 阅读 · 2 评论 -
体验开发一个DApp的流程-简单投票DApp
开发准备主要学习开发一个DApp的流程,合约的设计与逻辑不是重点,所以对于投票合约内容做了简化。基本知识DApp中的D指的是decentralization,DApp的意思就是去中心化的应用。ganache是相对于geth更加方便的一个区块链测试平台,项目中使用ganache。总体流程我们首先安装一个叫做 ganache 的模拟区块链,能够让我们的程序在开发环境中运行。写一个合约并部署到 ganache 上。然后我们会通过命令行和网页与 ganache 进行交互。环境要求要求我们预原创 2020-08-17 23:09:48 · 1872 阅读 · 0 评论 -
MetaMask/外部账户导入到Geth私链的方法(相同地址)小结
获取MetaMask上账户的私钥点击账户详情,导出私钥:拿到私钥以后,创建一个文本文件例如fk.txt放进去然后输入geth account import 你的私钥文件路径会提示你输入密码,这个密码是在geth控制台使用的密码发现生成的账户就是在MetaMask上的账户。导入完成。...原创 2020-09-03 21:58:59 · 3559 阅读 · 2 评论 -
MetaMask8.0.8新版本获取不到geth私链账号的处理方法
使用truffle框架调用MetaMask访问私链时,告知invalid address,尝试了网上的设置defaultAccount等等方法都不行,后来发现是MetaMask版本升级。web3.eth.accounts无法拿到账户。MetaMask新版本增加了隐私模式。但是我在8.0.8版本并未找到网上教程中的隐私模式的设置(关闭)。所以通过js代码来解决了这一个问题。var web3Provider; if (window.ethereum) { web3Provider = windo原创 2020-09-03 17:01:48 · 1765 阅读 · 1 评论 -
windows下truffle console启动控制台出错的解决
不想启动内置的ganache控制台可以将文件truffle.js改成如下:// Allows us to use ES6 in our migrations and tests.require('babel-register')module.exports = { networks: { development: { host: 'localhost', port: 8545, network_id: '*' // Match any network原创 2020-09-03 00:50:34 · 415 阅读 · 0 评论 -
truffle init/unbox 中遇到的许多错误以及解决
truffle初始化的坑有很多:1. truffle init报错truffle init报错:Error: Truffle Box at URL https://github.com/truffle-box/bare-box.git doesn’t exist. If you believe this is an error, please contact Truffle support.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mWI7p9Ii-15990580原创 2020-09-02 22:48:37 · 2909 阅读 · 2 评论 -
Web3-js的学习(6)-编译、部署、测试合约完整流程
文件结构注:这里的web3js代码是基于1.0.0以上的版本。一般的开发流程:写智能合约 => 编译 => 部署到ganache测试环境 => 测试 => 通过geth发布到私有网络合约pragma solidity >=0.4.0;contract C{ event ChangeBalance(address i...原创 2020-08-18 12:18:48 · 767 阅读 · 0 评论 -
Web3-js的学习(5)-实现合约事件监听
合约事件监听latest: 监听最新出块事件pending:监听发布未进块事件代码很简单:var Web3 = require('web3');var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));//创建合约实例var abi = [{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","ou原创 2020-08-20 16:44:29 · 4913 阅读 · 1 评论 -
Web3-js的学习(4)-实现自动账户解锁脚本
解锁账户每次转币都需要事先把账户解锁,不然会报错,非常的麻烦。可以将解锁的过程加到web3js的脚本中来处理。但是其中还是有一些细节要注意:首先在开启私链的时候需要在命令中赋予rpc调用personal这个api的权限,这一点至关重要。因为默认不带api参数一般只提供eth、net等api,personal、db、admin等是不会向用户打开的,需要手动打开。geth --datadir . --networkid 15 --rpc --rpcapi "eth,personal" con原创 2020-08-20 16:43:57 · 1506 阅读 · 0 评论 -
Web3-js的学习(3)-实现简单转币脚本
简单转以太币脚本代码//创建web3对象var Web3 = require('web3');var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));//获取node参数var arguments = process.argv.splice(2);var _from = arguments[0];var _to = arguments[1];var _value = arguments[2]原创 2020-08-20 16:43:27 · 1495 阅读 · 0 评论 -
Web3.js的学习(2)
Web3.js的学习(2)常用API-基本信息查询Web3通用工具方法Web账户相关区块相关信息查询交易相关消息调用消息调用就是调用那些不改变状态的合约函数,此时不使用交易调用而应该使用消息调用日志过滤小例子:检测出块-latestNode下geth控制台下,启动挖矿:Node下收到消息:检测交易-pendinggeth控制台下发起一个交易:pending只管当前在pending的交易,至于之后交易是否进块是不管的。合约相原创 2020-08-20 16:42:46 · 399 阅读 · 1 评论 -
Web3.js的学习(1)
Web3.js的学习(1)Web3js的简介与安装geth控制台已经内嵌了一个web3,所以我们可以在控制台使用其命令。那么我们不能永远在geth控制台上使用web3,所以还是需要自己安装:npm install web3@0.20.1例如MetaMask启动后就会在浏览器上创建一个Web3实例的provider,在控制面板中可以看到:并且在remix中选择环境时的选项也是有含义的:所以我们在创建provider的时候需要先检测环境中是否已经有了provider,以免覆盖异步回调原创 2020-08-20 16:42:16 · 2574 阅读 · 0 评论 -
web3js脚本实现智能合约编译->测试->部署自动化
文件结构注:这里的web3js代码是基于1.0.0以上的版本。一般的开发流程:写智能合约 => 编译 => 部署到ganache测试环境 => 测试 => 通过geth发布到私有网络合约pragma solidity >=0.4.0;contract C{ event ChangeBalance(address indexed who, uint indexed value); mapping(address=>uint) publi原创 2020-08-20 16:41:16 · 809 阅读 · 1 评论 -
geth构建私链发生交易始终在txpool中挖矿不打包交易且后续交易积攒不打包的解决
错误描述如图,该账户发起的交易nonce为46的交易往后一直未打包,不管怎么挖矿都会打包不进区块链上。解决方案原因所在:以太坊中交易的nonce是指:每个交易的发起方(账户)都有一个nonce记录自己发起交易的数量,可以通过eth.getTransactionCount(eth.accounts[0])查看目前的累计数。而区块的nonce则是代表着挖矿难度,两者要分清楚。首先查看自己目前txpool中阻塞的交易nonce:直接看第一个编号或者上面的eth.getTransactionCount原创 2020-09-03 21:00:38 · 1176 阅读 · 4 评论