使用以太坊geth搭建私有链与ethereum wallet交互中出现的问题

geth和ethereum wallet的安装

参考博文

geth 的启动相关

我使用的环境是VMware® Workstation 15 Pro 15.5.0版本下的安装的Ubuntu 18.04.3 LTS镜像。
系统描述
geth开启命令:
geth --datadir "xxx" console --rpc --dev --dev.period 0
xxx是你在设置geth私有链是创建的区块链数据目录,在第一节的博文里有提到,如:
geth --datadir "/home/zhou/chain1" console --rpc --dev --dev.period 0
我的数据存放位置为/home/zhou/chain1
其他复杂点的命令如:

geth --datadir "./" --networkid 989898 -rpc console --port 30304 --rpcport 8546 /
--dev.period value 1 --allow-insecure-unlock
  • –rpc
    远程过程调用,加上这个才可以在ethereum wallet中链接私有链
  • –dev
    开发者模式,加上这个geth就不会去同步以太坊的公有链,而是进入开发者模式
  • –dev.period x
    和–dev连用,设置挖矿策略,x为0时(默认)只会在有交易发生时才会挖矿,而且只会生成一个区块。。。不知道为什么。以太坊规定一个区块只有当其后面有12个区块对其进行确认后才会验证通过,也就是说只有我们同时打开12个结点才会正常的进行后面的实验。。。
    所以一般将x设置为1,第一次启动私有链时,若x为1,系统会自动生成一个账户并开始挖矿,我们在命令行输入miner.stop(),此时挖矿会停止并返回null,再使用命令eth.blockNumber可以查看已经挖出的区块个数,以后再次启动私有链,系统不会再创建新账户,而是直接设置该账户为挖矿账户自动开始挖矿。
  • –networkid --port --rpcport
    我也不知道是什么端口。。。开启的时候可以不用加,会自动生成的(吧),如果提示有某个端口被占用了,再重新开启的时候加上相应的端口以及端口号,注意不要和提示的已占用端口一样,如若提示tcp端口30303被占用,那么就加上--port 30301或者其他端口号。
  • –allow-insecure-unlock
    以太坊的最新更新,ban了直接在控制台解锁账户的方式,如果想要在控制台解锁账户就要加上这个。

系统自动账户相关

密码

第一次想从系统账号里转账给其他账户,密码试了一下午也没找出来,各种百度,问了一个大佬说在配置文件里有,找了半天发现了这个文件,位置是home/zhou/chian1/geth/LOCK
LOCK文件
打开之后发现是个空文件,我一想这里面也没有密码呀,然后接着试。。。等到第二天脑子一热,密码不会是空吧,再次交易,输入密码“”,成功。。。

更改coinbase

这里我本想是弃用系统自动创建的账户,使用我自己的账户来挖矿,使用命令miner.setEtherbase(xxx),xxx是新的挖矿地址,设置完成后启动挖矿,控制台一直在等待,没有新的信息显示也无法输入其他命令,这个问题暂时还没有解决。
目前下一步的其他实验我准备把系统自动账户作为一个以太池,从里面转出以太到其他的账户进行智能合约的调用。

geth私有链和ethereum wallet的链接

geth私有链和ethereum wallet的链接在第一部分的博文里已经有描述,我在这里遇到的问题是wallet突然无法链接到用了几天的一个私有链(也就是chain1),重启geth也没有解决,目前的策略是重新建立私有链文件,也就有了后来的chain2、chain3。。。
原因未知,但可能和我修改coinbase地址有关系,几个不能链接的私有链我都尝试修改了coinbase。

智能合约相关

智能合约的部署参见博文:
参考博文
描述的很详细,这里我想说的注意点,或者是我个人的习惯吧,我在第1+n次打开geth后,会立即输入miner.stop()先停止挖矿,等到我部署合约、转账或者调用合约的时候才会再次开启挖矿,使用命令miner.start(x);admin.sleepBlocks(y);miner.stop();表示使用x个CPU核心进行挖矿,在挖到y个区块后停止,x一般可以缺省,如果CPU资源紧张的话可以设置为一个小数字,y我一般设置为10。
这样做有时会出现一个问题,我在调用合约之后用这个命令开启挖矿,控制台会卡住。。。然后重启geth,无效,重启虚拟机,无效,建立chain4。。。

发布了16 篇原创文章 · 获赞 10 · 访问量 4926

猜你喜欢

转载自blog.csdn.net/weixin_44826484/article/details/103140232
今日推荐