python上关于智能合约的一些操作(py-solc、evm_cfg_builder、pyevmasm)

一、py-solc库
这个库可以编译智能合约源码

使用步骤
1.安装solidity环境
https://github.com/ethereum/solidity/releases先在github上下载对应的智能合约版本的压缩包,我下载的是0.4.18版本,解压后文件如下
在这里插入图片描述
将solc.exe文件拷贝粘贴至项目所在文件夹目录;
然后将该solc.exe添加至环境变量

2.安装py-solc库
安装完后就可以打开py文件使用py-solc这个库了
在这里插入图片描述

可以看到,这里使用solc编译了两个智能合约代码,编译结果有9个值,详细的编译结果如下
在这里插入图片描述
关于solc在python的跟多操作可以到这里了解。

另外也可以在cmd上使用solc编译合约
先cmd中切换到指定文件夹地址

solc helloworld.sol

运行上面命令,如果合约编译成功就没有输出,接着运行下面指令

solc --asm 1.sol

在这里插入图片描述

solc --bin helloworld.sol

运行上面命令可以得到字节码
在这里插入图片描述
二、evm_cfg_builder库
这个库可以通过字节码生成合约的cfg图

安装这个库有两个要求
1.python>=3.6
2.安装了pyevmasm这个库

这个库同时也提供了两个py文件来方便使用这个库
在这里插入图片描述
这里可以下载这两个py文件
这两个文件需要在cmd下调用,其中bytecode.sol为合约字节码文件
在这里插入图片描述
在这里插入图片描述关于evm_cfg_builder这个库的更多用法可以在这里了解

三、pyevmasm库
对于这个库我也不是用的很多,不过感觉还是挺不错的,就记录一下用的最多的两个api吧
1.将操作码反编译成字节码
在这里插入图片描述
2.将字节码编译成操作码
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值