二进制链事务

bnb-tx的Python项目详细描述


二进制链事务库

这个库提供了一个与不同二进制链事务交互的低级接口。

安装

pip3 install bnb-tx

或者,在您的Pipfile中:

bnb-tx = "==0.0.4"

用法

下面是一个使用ecdsa库签名的示例。

importecdsadefuncompressed_public_key(sk):""" Derive uncompressed public key """order=sk.curve.generator.order()p=sk.verifying_key.pubkey.pointx_str=ecdsa.util.number_to_string(p.x(),order)y_str=ecdsa.util.number_to_string(p.y(),order)uncompressed=b'\x04'+x_str+y_strreturnuncompressedfrombinance_transactionimportBnbTransaction,NewOrder,address_bytes,BUY,GTE,LIMIT_ORDERsk=ecdsa.SigningKey.from_pem(open('secp256k1-key.pem').read())from_address='bnb100dxzy02a6k7vysc5g4kk4fqamr7jhjg4m83l0'account_number=96025# https://docs.binance.org/api-reference/dex-api/paths.html#apiv1accountaddresssequence_number=888tx=BnbTransaction(account_number,sequence_number)order_id=f'{address_bytes(from_address).hex().upper()}-{sequence_number + 1}'tx.add_msg(NewOrder(from_address,order_id,'BNB_TUSDB-888',LIMIT_ORDER,BUY,3500000000,500000000,GTE))print(tx.signing_json())sig=sk.sign_digest(tx.signing_hash())public_key=uncompressed_public_key(sk)tx.apply_sig(sig,public_key)signed_transaction_bytes=tx.encode()print(f'Signed bytes: {signed_transaction_bytes.hex()}')

支架

并非所有事务类型都受支持。 详情请参阅本表。 如果需要支持,请提交pull request

Message Typeencodedecodefrom_obj
Send
NewOrder
CancelOrder
Issue
Mint
Burn
Freeze
Unfreeze
TimeLock
TimeUnlock
TimeRelock
Proposal
Vote

贡献

CONTRIBUTING

许可证

lgplv3

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException