当提交智能合约部署后,会返回智能合约的地址。智能合约地址的生成逻辑在eth.api.go的submitTransaction函数中:

func submitTransaction(ctx context.Context, b Backend, tx *types.Transaction) (common.Hash, error) {if err := b.SendTx(ctx, tx); err != nil { //提交交易return common.Hash{}, err}if tx.To() == nil { //交易成功后,交易的目标地址是空的话,说明是智能合约部署signer := types.MakeSigner(b.ChainConfig(), b.CurrentBlock().Number())from, err := types.Sender(signer, tx) //获取交易的发送地址if err != nil {return common.Hash{}, err}addr := crypto.CreateAddress(from, tx.Nonce()) //利用发送地址和nonce生成新的地址log.Info("Submitted contract creation", "fullhash", tx.Hash().Hex(), "contract", addr.Hex())} else {log.Info("Submitted transaction", "fullhash", tx.Hash().Hex(), "recipient", tx.To())}return tx.Hash(), nil

【区块链 | 智能合约】Ethereum源代码 - 智能合约地址生成算法相关推荐

  1. 区块链教程Fabric1.0源代码分析配置交易-生成通道配置二

    兄弟连区块链教程Fabric1.0源代码分析配置交易-生成通道配置二.Generator接口实现,即bootstrapper. type bootstrapper struct {channelGro ...

  2. solidity payable_以太坊区块链搭建与使用(五)-智能合约Solidity

    一.智能合约Solidity开发工具 1.remix-ide http://remix.ethereum.org/ 在线版本,也可以去github下载安装到本地.开发.编译.发布.执行.测试 2.re ...

  3. Zeppelin:用于区块链应用的开源安全智能合约架构

    9月15日,Zeppelin的路线图建议发布.Zeppelin是一种构建安全智能合约的开源架构,遵循MIT许可.该建议的推出正是时候,从DevCon2大会上围绕着智能合约形式验证的报告和讨论的次数上就 ...

  4. 【区块链技术开发】剖析区块链Ganache模拟器工具及其智能合约部署区块链的查询方式

    专栏:[区块链技术开发] 前期文章: [区块链技术开发]基于Web3.js以太坊网络上的智能合约的交互及其应用 [区块链技术开发]OpenZeppelin智能合约库:提高智能合约的安全性和可靠性,加速 ...

  5. 区块链学习笔记21——ETH智能合约

    区块链学习笔记21--ETH智能合约 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约简介 ...

  6. 【区块链开发入门】(三) Solidity合约编译、部署

    目录导航页 [区块链开发入门](一) 以太坊的搭建与运行 [区块链开发入门](二) 以太坊的编程接口 [区块链开发入门](三) Solidity合约编译.部署 [区块链开发入门](四) Truffle ...

  7. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之一、会前智能

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

  8. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之总篇

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

  9. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之二、会中智能

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

  10. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之四、数据挖掘

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

最新文章

  1. SSH、VIM显示中文乱码解决方法
  2. CTFshow 反序列化 web254
  3. 联想g510升级方案_联想集团副总裁阿木:智能化转型是VUCA 时代的成功路径 -联想 ——快科技(驱动之家旗下媒体)-...
  4. python拷贝文件函数_Python Set集合,函数,深入拷贝,浅入拷贝,文件处理
  5. python dataframe 查看为空值_Python pandas.DataFrame 找出有空值的行
  6. edu汇编语言——实训课程
  7. 程序员都必须了解的18个Python模式程序片段
  8. libgmailer更新了,俺的下载空间又可以使用了(使用G-Share)
  9. (转)比特币基金难产 区块链基金成首发
  10. ps里面的css,PS图层样式详解(上)
  11. 视频编码中的PAFF和MBAFF的区别 转自:http://blog.csdn.net/kerryhung/article/details/4433256...
  12. 皮尔逊相关 p值_皮尔逊,p值和图
  13. Windows下打开.jar文件的方式
  14. 网站友情链接交换的方法
  15. OSPF的Router-LSA和Network-LSA
  16. 常用的企业邮箱有哪些?企业邮箱有哪几种?
  17. 修一座安全的广厦,庇护赛博世界的流浪者
  18. C语言中arr[0] 、arr 、arr
  19. 计算机中颜色质量,win10系统更改颜色质量的操作技巧
  20. Cornfields

热门文章

  1. 教育项目之讲师模块介绍
  2. c# 电子协议签名demo
  3. OMAP4460的DDR2升级说明
  4. omap4460 uboot移植到EMMC2说明
  5. 在看《依天屠龙记》,赵敏、周芷若、小昭你更喜欢谁?
  6. 无任何网络提供程序接受指定的网络路径 解决办法
  7. Java实现扑克牌的洗牌发牌看牌
  8. --whole-archive 和 --no-whole-archive的区别
  9. 个人计算机的系统设计,计算机毕业论文设计——个人日志系统的设计与实现.doc...
  10. 【模型检测学习笔记】6:线性时序性质(Linear-time Properties)