开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 3 Fork 3

kentzhang/python-sdk

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (7)
master
dev310
liquid
tassl
dev
dev2020
gm
master
分支 (7)
master
dev310
liquid
tassl
dev
dev2020
gm
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (7)
master
dev310
liquid
tassl
dev
dev2020
gm
python-sdk
/
tests
/
testfunctiondata.py
python-sdk
/
tests
/
testfunctiondata.py
testfunctiondata.py 3.42 KB
一键复制 编辑 原始数据 按行查看 历史
kentzhang 提交于 2020年03月05日 01:55 +08:00 . autopep8 format & make signtx together (ecdsa/gm)
'''
@author: kentzhang
@date: 2019-06
'''
from eth_utils import *
from utils.abi import filter_by_name
import json
from utils.abi import *
from eth_utils.hexadecimal import decode_hex
from eth_abi import encode_single, encode_abi, decode_single
from utils.contracts import (
prepare_transaction,
encode_transaction_data,
)
'''--------------------------------------------------------------'''
inputdata = "0x36a55494000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000007029c502b4f824d19bd7921e9cb74ef92392fb1b00000000000000000000000000000000000000000000000000000000000000036162630000000000000000000000000000000000000000000000000000000000"
with open(r"sample\AddrTableWorker.abi", 'r') as load_f:
contract_abi = json.load(load_f)
print(contract_abi)
# 获取指定名字的function的abi的json
func_abi_byname = filter_by_name("create", contract_abi)
# 第一个匹配的function的inputs
print(func_abi_byname[0]['inputs'])
# 获得4字节的方法标识,
b4 = function_abi_to_4byte_selector(func_abi_byname[0])
print("b4:4byes selector", encode_hex(b4))
# 获得方法"签名",也就是 func(参数列表)的字符串create(string,uint256,address)
funcsig = abi_to_signature(func_abi_byname[0])
print("abi_to_signature:", funcsig)
# 获得类似['string', 'uint256', 'address']的输入列表
print(get_abi_input_types(func_abi_byname[0]))
# 解析inputdata
# 获得方法selector,4个字节,8个hex字符
functionhash = inputdata[0:10] # 10是因为带了0x
# 携带的数据
params = inputdata[10:]
print("functionhash :%s,inputs %s" % (functionhash, params))
# 转为二进制
bindata = decode_hex(params)
print("binary params ", bindata)
# decode_single要指定一个字符串的格式描述,解析输入参数
abitext = "(string,uint256,address)"
result = decode_single(abitext, bindata)
print("!!param decode result ", result)
# 将('abc', 1000, '0x7029c502b4f824d19bd7921e9cb74ef92392fb1b') 这样的数据encode一次,进行对比
# 大写:('abc', 1000, '0x7029c502b4F824d19Bd7921E9cb74Ef92392FB1b')
inputparams = ('abc', 1000, '0x7029c502b4F824d19Bd7921E9cb74Ef92392FB1b')
encoderesult = encode_single(abitext, inputparams)
print(encode_hex(encoderesult))
func_abi = func_abi_byname[0]
# encode_transaction_data 里对address的编码要大写
with open(r"sample\AddrTableWorker.abi", 'r') as load_f:
contract_abi = json.load(load_f)
inputparams = ('abc', 1000, '0x7029c502b4F824d19Bd7921E9cb74Ef92392FB1b')
result = encode_transaction_data("create", contract_abi, None, inputparams)
print("encode_transaction_data:", result)
if result == inputdata:
print("Success")
'''
def prepare_transaction(
address,
fn_identifier,
contract_abi=None,
fn_abi=None,
transaction=None,
fn_args=None,
fn_kwargs=None):'''
'''
txpre = prepare_transaction(address = "0x7029c502b4f824d19bd7921e9cb74ef92392fb1b",
fn_identifier = "create",
contract_abi = contract_abi,
fn_args=('abc',1000,'0x7029c502b4F824d19Bd7921E9cb74Ef92392FB1b'),
transaction={'from': "0x8f62b0a6d7d928df18b1e86b8d76f7160519a9da",
'gas':300000000,
'gasPrice':300000000,
'bocklimit':100
}
)
print(txpre)'''
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

fisco bcos python sdk
暂无标签
MIT
使用 MIT 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/coderkent/python-sdk.git
git@gitee.com:coderkent/python-sdk.git
coderkent
python-sdk
python-sdk
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /