原博客地址

https://blog.csdn.net/qq_36124194/article/details/83686740


geth建立私链

初始化genesis.json文件

geth --datadir data init gensis.json

启动私链

有很多可选参数

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

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

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

做好前期准备工作

新建好账户

personal.newAccount("123456")

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

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

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

myAddress = "地址"

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

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

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

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

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

然后用变量表示代码

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

开始部署智能合约

首先解锁账户

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

然后部署

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

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

txpool.status

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

pending表示交易还没确认

通过挖矿确认

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

调用智能合约

不写到链上的调用

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

其中contract是合约遍历,multiply是合约函数

写到链上的调用

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

这是个交易,所以也需要挖矿确认

05-26 16:30