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

原博客地址

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


geth建立私链

初始化genesis.json文件

geth --datadir data init gensis.json

    启动私链

    有很多可选参数
    在这里插入图片描述
    在这里插入图片描述

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

      做好前期准备工作

      新建好账户

      personal.newAccount("123456")
      

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

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

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

          myAddress = "地址"
          

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

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

              在这里插入图片描述
              在这里插入图片描述
              然后用变量表示代码
              在这里插入图片描述

              开始部署智能合约

              首先解锁账户

              在这里插入图片描述

              然后部署

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

              txpool.status
              

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

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

                  调用智能合约

                  不写到链上的调用

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

                  写到链上的调用

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

                  原文地址:https://www.cnblogs.com/qq874455953/p/10264455.html