星云python sdk

neb-p的Python项目详细描述


内布拉斯加州

py是与Nebulas兼容的PythonAPI。 用户可以签署/发送事务并与之部署/调用智能合约。

安装

您可以通过pip:

pip install neb-py

用法

请参考examples了解如何使用neb.py。

帐户

fromnebpysdk.src.account.AccountimportAccount# generate a new accountaccount=Account()account2=Account.new_account()#another way to create accountpriv_key="6c41a31b4e689e1441c930ce4c34b74cc037bd5e68bbd6878adb2facf62aa7f3"account3=Account(priv_key)#create account with given priv_key# export accountaccount_json=account.to_key(bytes("passphrase".encode()))print(account_json)# load accountaccount=Account.from_key(account_json,bytes("passphrase".encode()))print(account.get_address_str())print(account.get_private_key())print(account.get_public_key())

API

fromnebpysdk.src.client.NebimportNebimportjsonneb=Neb("https://testnet.nebulas.io")# getNebStateprint(neb.api.getNebState().text)# latestIrreversibleBlockprint(neb.api.latestIrreversibleBlock().text)

事务

fromnebpysdk.src.account.AccountimportAccountfromnebpysdk.src.core.AddressimportAddressfromnebpysdk.src.core.TransactionimportTransactionfromnebpysdk.src.core.TransactionBinaryPayloadimportTransactionBinaryPayloadfromnebpysdk.src.core.TransactionCallPayloadimportTransactionCallPayloadfromnebpysdk.src.client.NebimportNebimportjsonneb=Neb("https://testnet.nebulas.io")keyJson='{"version":4,"id":"814745d0-9200-42bd-a4df-557b2d7e1d8b","address":"n1H2Yb5Q6ZfKvs61htVSV4b1U2gr2GA9vo6","crypto":{"ciphertext":"fb831107ce71ed9064fca0de8d514d7b2ba0aa03aa4fa6302d09fdfdfad23a18","cipherparams":{"iv":"fb65caf32f4dbb2593e36b02c07b8484"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"dddc4f9b3e2079b5cc65d82d4f9ecf27da6ec86770cb627a19bc76d094bf9472","n":4096,"r":8,"p":1},"mac":"1a66d8e18d10404440d2762c0d59d0ce9e12a4bbdfc03323736a435a0761ee23","machash":"sha3256"}}';password='passphrase'# prepare from&to addrfrom_account=Account.from_key(keyJson,bytes(password.encode()))from_addr=from_account.get_address_obj()to_addr=Address.parse_from_string("n1JmhE82GNjdZPNZr6dgUuSfzy2WRwmD9zy")print("from_addr",from_addr.string())print("to_addr  ",to_addr.string())# prepare transaction, get nonce firstresp=neb.api.getAccountState(from_addr.string()).textprint(resp)resp_json=json.loads(resp)print(resp_json)nonce=int(resp_json['result']['nonce'])chain_id=1001# PayloadTypepayload_type=Transaction.PayloadType("binary")# payloadpayload=TransactionBinaryPayload("test").to_bytes()# gasPricegas_price=1000000# gasLimitgas_limit=20000# binary transaction exampletx=Transaction(chain_id,from_account,to_addr,0,nonce+1,payload_type,payload,gas_price,gas_limit)tx.calculate_hash()tx.sign_hash()print(neb.api.sendRawTransaction(tx.to_proto()).text)# call typeto_addr=Address.parse_from_string("n1oXdmwuo5jJRExnZR5rbceMEyzRsPeALgm")func="get"arg='["nebulas"]'payload=TransactionCallPayload(func,arg).to_bytes()payload_type=Transaction.PayloadType("call")tx=Transaction(chain_id,from_account,to_addr,0,nonce+1,payload_type,payload,gas_price,gas_limit)tx.calculate_hash()tx.sign_hash()print(neb.api.sendRawTransaction(tx.to_proto()).text)

加入吧!

我们很高兴收到错误报告、修复、文档增强和其他改进

请通过github问题报告错误

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

推荐PyPI第三方库


热门话题
禁用Eclipse Java调试器的热代码替换   每次运行jUnit测试时,JavaIntelliJIDEA都会重建整个模块   java如何从InputStream对象读取特定数据?   java我想在每次从recyclerview中单击一个项目时将对象添加到领域数据库   安卓在C和系统中退出(0)的实践。在Java中退出(0)   azure如何将文本文件附加到java中现有的zip文件?   java Spring安全性工作在tomcat服务器(Eclipse)上,但当我将war文件放入tomcat webapp时,Spring安全性就不工作了   java为什么在提供lambda参数时必须捕获异常?   java公共类扩展了JPanel   java如何在SpringAspectJ中使用“declare”指令?   java是编写大量文件的最佳方式   java创建具有多个类依赖项的jar文件   面向对象方法在Java中模拟类分类   java未找到类型为com的返回值的转换器。春天mvc。模型用户]   vb。net在java中解压缩visual basic中压缩的字符串   java为什么我可以更改类中的private属性?   更新Android Studio后java Gradle不工作   图像Java帮助。不规则间隔的幻灯片放映