├── README.md └── rpc-web3.py /README.md: -------------------------------------------------------------------------------- 1 | # python 2 | Python以太坊开发详解:本课程讲解如何使用Python开发以太坊应用,内容即涉及以太坊中的核心概念,例如账户管理、状态与交易、智能合约开发与交互、过滤器和事件等,同时也详细说明如何使用web3.py与以太坊进行交互,是Python工程师学习以太坊应用开发的不二选择: 3 | [http://xc.hubwiz.com/course/5b40462cc02e6b6a59171de4](http://xc.hubwiz.com/course/5b40462cc02e6b6a59171de4?affid=726github) 4 | 5 | 课程目录如下: 6 | 7 | 1.概述 8 | 9 | - 以太坊概述 10 | - JSON RPC 11 | - 课程内容概述 12 | 13 | 2.hi,以太坊 14 | 15 | - hi以太坊 16 | - 使用ganache 17 | - 使用curl获取节点版本信息 18 | - 使用php获取节点版本信息 19 | - 使用现成的轮子 20 | - 理解web3.py的命名规则 21 | - Web3入口类 22 | 23 | 24 | 3.账户管理 25 | 26 | - 账户管理 27 | - 私钥、公钥与账户 28 | - 创建账户 29 | - 导入私钥 30 | - keystore钱包文件 31 | - 为网站增加以太币支付功能 32 | 33 | 4.理解状态与交易 34 | 35 | - 状态与交易 36 | - 状态与激励 37 | - 以太坊状态机 38 | - 获取账户余额 39 | - 以太坊货币单位 40 | - 货币单位表示与换算 41 | - 交易类型 42 | - 提交普通交易 43 | - 获取交易收据 44 | - gas价格与用量 45 | - 使用裸交易 46 | 47 | 5.智能合的开发、部署、交互 48 | 49 | - 智能合约概述 50 | - ERC20代币规范 51 | - 代币合约状态设计 52 | - 代币合约方法实现 53 | - 编译代币合约 54 | - 使用Python编译合约 55 | - 合约部署原理 56 | - 使用合约类部署代币合约 57 | - 合约方法执行原理 58 | - 使用合约对象访问代币合约 59 | 60 | 6.过滤器与事件 61 | 62 | - 通知机制概述 63 | - 监听新块事件 64 | - 监听新交易事件 65 | - 监听待定交易事件 66 | - 监听合约事件 67 | - 使用主题过滤日志 68 | - 解码日志数据 69 | - 使用ContractEvent 70 | -------------------------------------------------------------------------------- /rpc-web3.py: -------------------------------------------------------------------------------- 1 | from web3 import Web3 2 | 3 | w3 = Web3(Web3.HTTPProvider('http://localhost:8545')) 4 | print('version => {0}'.format(w3.manager.request_blocking('web3_clientVersion',[]))) 5 | print('keccak hash => {0}'.format(w3.manager.request_blocking('web3_sha3',['hello,ethereum']))) 6 | --------------------------------------------------------------------------------