• 国酒茅台·国之栋梁 希望工程圆梦行动获第十二届人民企业社会责任奖年度案例奖 2019-12-06
  • 湖州日报社党委书记、社长沈振建祝贺人民日报创刊70周年 2019-12-06
  • 是什么时候颠覆了“文艺应当为千千万万劳动人民服务”这一社会主义文艺路线的?!那一股“伤痕潮”功不可灭,可惜的是“旧伤痕”已经烟灭,取代其的是“挖根潮”。留给工农 2019-11-24
  • 我国居民人均预期寿命又提高了 2017年提高至76.7岁 2019-11-24
  • 《格萨尔》史诗藏译汉16册完成终审 2019-11-10
  • 干惊天动地事  做崇德守廉人 2019-10-20
  • 新一代宝马8系首发亮相 运动旗舰正式回归 2019-10-20
  • 全纪录600名工人为“重庆铁路咽喉”动手术  奋战7个通宵为旅客节约1小时 2019-10-19
  • 共享单车押金安全受关注 部分平台已引入银行存管 2019-10-16
  • 视频--江苏频道--人民网 2019-10-16
  • 回复@看着就想笑:历史至今的客观事实是奴隶主剥削奴隶、封建地主剥削农奴、资本家剥削雇佣劳动者、师傅剥削徒弟都是建立在私有制基础上的,而且小私有和他人联合顾工生 2019-10-14
  • 把党的十九大精神全面落实在重庆大地上——华龙网 2019-10-06
  • 高一年级组“经典永流传”诵读比赛精彩回顾—wydzx.blog的博客—强国博客—人民网 2019-10-06
  • 欢迎访问《南开管理评论》官方网站! 2019-10-04
  • 新华网评:秉“真诚”之态 谋共同发展 2019-10-04
  • 青海麻将258 www.jncff.tw 青海麻将258 > 上网技巧 > 电脑小技巧 > python利用web3.py开发以太坊应用dapp的实战教...

    python利用web3.py开发以太坊应用dapp的实战教程

    时间:2019-10-29 17:21 作者:QQ地带 我要评论

    以太坊作为最流行区块链平台,最大的特点是运行各种智能合约。我们已经出过node.js、java、php的以太坊开发实战教程,这一次是python。Python官方提供了一系列的Python包用于支持在Python应用中访问以太坊,其中最流行的就是web3.py —— 对JSON RPC接口的Python封装包。在本课程中,我们将主要使用web3.py,同时结合一些其他的包,来开发支持以太坊的Python应用。
     
    本教程的目的是帮助Python工程师快速掌握开发以太坊应用的技能,同时穿插 讲解以太坊的一些核心概念,例如:账户、交易和智能合约等,大概的目录结构是:
     
    Hi,以太坊
    将通过一个简单的Python应用的开发来讲解使用 Python进行以太坊应用开发的最简流程,通过这一部分的学习,你就可以在自己 的Python应用中引入基本的以太坊支持了。
     
    账户管理
    将详细介绍以太坊的账户管理接口。如果你对开发中心化钱包应用感兴趣,或者需要在自己的网站中动态创建账户(例如,你 希望为网站增加对以太坊支付的支持),那么这部分内容会有很大的帮助。
     
    理解状态与交易
    讲解以太坊的交易操作接口,同时也介绍一些 重要的概念,例如状态、裸交易、gas等。这部分内容将帮助你理清Python 应用与以太坊交互的大多数问题。
     
    智能合约的开发与应用
    将通过一个ERC20代币合约的开发、编译、代码生成、部署与交互 的完整流程,讲解使用Python操作solitiy合约的方法。如果你希望为自己的 应用增加代币支持,这一部分的内容是必须的。
     
    过滤器与事件
    讲解以太坊的通知机制以及如何在Python中使用过滤器来监视 块和交易的生成与合约事件的触发。
     
    web3.py示例
    web3.py是以太坊官方维护的Python版rpc接口封装库,因此我们优先 选择它。下面是使用web3.py获取节点版本信息的代码:
     
    from web3 import Web3, HTTPProvider
     
    provider = Web3.HTTPProvider('//localhost:8545') 
    w3 = Web3(provider)
     
    Web3是web3.py的入口类,我们与以太坊的交互,基本上是通过这个入口 来完成的,实例化Web3需要指定一个通信服务提供器,即明确采用何种通信 方式与哪一个节点进行交互。
     
    web3.py目前实现了IPC、HTTP和Websocket这三种网络服务提供器。 HTTPProvider则声明了与以太坊节点旳连接采用HTTP协议,只需要指定 节点旳URL即可。由于我们使用本机的gaanche-cli仿真器,因此使用//localhost:8545 这个URL。
     
    Web3实例的manager属性是一个RequestManager实例,它负责利用指定 的通信服务提供器来进行json rpc交互,因此它是通信传输无关的(provider agnostic)。 调用其request_blocking()方法来提交请求:
     
    version = w3.manager.request_block('web3_clientVersion',[])
     
    注意:request_block()返回的结果不是完整的json rpc响应,而仅仅是包含其result字段。
     

    标签: Python
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%

    Google提供的广告

  • 国酒茅台·国之栋梁 希望工程圆梦行动获第十二届人民企业社会责任奖年度案例奖 2019-12-06
  • 湖州日报社党委书记、社长沈振建祝贺人民日报创刊70周年 2019-12-06
  • 是什么时候颠覆了“文艺应当为千千万万劳动人民服务”这一社会主义文艺路线的?!那一股“伤痕潮”功不可灭,可惜的是“旧伤痕”已经烟灭,取代其的是“挖根潮”。留给工农 2019-11-24
  • 我国居民人均预期寿命又提高了 2017年提高至76.7岁 2019-11-24
  • 《格萨尔》史诗藏译汉16册完成终审 2019-11-10
  • 干惊天动地事  做崇德守廉人 2019-10-20
  • 新一代宝马8系首发亮相 运动旗舰正式回归 2019-10-20
  • 全纪录600名工人为“重庆铁路咽喉”动手术  奋战7个通宵为旅客节约1小时 2019-10-19
  • 共享单车押金安全受关注 部分平台已引入银行存管 2019-10-16
  • 视频--江苏频道--人民网 2019-10-16
  • 回复@看着就想笑:历史至今的客观事实是奴隶主剥削奴隶、封建地主剥削农奴、资本家剥削雇佣劳动者、师傅剥削徒弟都是建立在私有制基础上的,而且小私有和他人联合顾工生 2019-10-14
  • 把党的十九大精神全面落实在重庆大地上——华龙网 2019-10-06
  • 高一年级组“经典永流传”诵读比赛精彩回顾—wydzx.blog的博客—强国博客—人民网 2019-10-06
  • 欢迎访问《南开管理评论》官方网站! 2019-10-04
  • 新华网评:秉“真诚”之态 谋共同发展 2019-10-04
  • 斯诺克直播吧 黑龙江22选5开奖结果 时时彩彩票论坛交流区 彩票江西快3 内蒙古11选5遗漏值查询 中超射手榜 全球彩票群 香港正版四不像二肖中特 彩票平台注册送体验金 9188双色球基本走势图