geth建立私链以及发布第一个智能合约

geth建立私链

初始化genesis.json文件

geth --datadir data init gensis.json

启动私链

有很多可选参数
在这里插入图片描述
geth建立私链以及发布第一个智能合约_第1张图片

geth --datadir --verbosity 4 console 2>>detail.log

做好前期准备工作

新建好账户

personal.newAccount("123456")

挖矿获取一定的以太币用于发布自己的智能合约,并检验是否挖到矿

miner.start();admin.sleepBlocks(1);miner.stop()
eth.getBalance(myAddress)

将自己的账户用变量表示,方便书写

myAddress = "地址"

geth建立私链以及发布第一个智能合约_第2张图片

在remix测试好智能合约代码,然后通过solc来编译代码

solc --bin code.tol
solc --abi code.tol

geth建立私链以及发布第一个智能合约_第3张图片
geth建立私链以及发布第一个智能合约_第4张图片
然后用变量表示代码
geth建立私链以及发布第一个智能合约_第5张图片

开始部署智能合约

首先解锁账户

geth建立私链以及发布第一个智能合约_第6张图片

然后部署

在这里插入图片描述
到了这里还没有成功,部署智能合约的交易还没有得到确认,可以通过以下命令确认

txpool.status

在这里插入图片描述
pending表示交易还没确认
通过挖矿确认

miner.start();admin.sleepBlocks(1);miner.stop()

调用智能合约

不写到链上的调用

在这里插入图片描述
其中contract是合约遍历,multiply是合约函数

写到链上的调用

在这里插入图片描述
这是个交易,所以也需要挖矿确认

更多技术博客:https://vilin.club/

你可能感兴趣的:(geth,ethereum)