前言
这是这个的最后一期,因为电子书后面的内容暂时没有什么必要学了,接下来会编写solc笔记和其他。
拜拜了您内。
部署智能合约
client, _ := ethclient.Dial("http://127.0.0.1:8545")
// 设定私钥和燃气费
private, _ := crypto.HexToECDSA("bd380efe66a9ff36d66d4ab20b76e79de62ecc745b3f31362d421bee33dc0446")
// publicKey := private.Public()
// public := publicKey.(*ecdsa.PublicKey)
// NewKeyedTransactor在新版变成了 NewKeyedTransactorWithChainID
ChanID, _ := client.NetworkID(context.Background())
auto, _ := bind.NewKeyedTransactorWithChainID(private, ChanID)
auto.Nonce = big.NewInt(300)
auto.Value = big.NewInt(0)
auto.GasLimit = 300
auto.GasPrice, _ = client.SuggestGasPrice(context.Background())
// 加载智能合约
address, tx, instance, _ := store.DeployStore(auto, client, "1.0")
logrus.Info("solc address :", address)
logrus.Info("expen:", tx, "instance:", instance)
需要注意的是:
NewKeyedTransactor在新版变成了 NewKeyedTransactorWithChainID
这里因为框架代码已经放弃了这个方法。
加载合约
client, _ := ethclient.Dial("http://127.0.0.1:8545")
// 加载地址
address := common.HexToAddress("0x4ad02236A1229029b013838FE0A5e44d349828c9")
instance, _ := store.NewStore(address, client)
logrus.Info(instance.StoreCaller)
// 查询智能合约
logrus.Info(instance.Version(nil))
没什么坑。