星云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第三方库


热门话题
java很难找到时间复杂性   性能如何查看我的Java进程现在正在做什么?   即使添加了jar文件,eclipse也无法编译java项目?   java JOOQ强制类型将POSTGRES的BigInteger转换为BigDecimal   具有适当复数的Java国际化(i18n)   Java:修复内存泄漏   Java主类实例访问   java在片段中被压回运行主活动中的函数   java在没有ant的情况下从控制台构建eclipse项目   java有可能不升级到JDK 9吗?   每个文件的java增量   服务器和客户端的tcp客户端数量因Java NIO而异   java如何膨胀合并   有没有工具可以检查我在Java中使用的包中的方法?   java限制google使用改型将查询自动完成放在一个国家   java如何按值而不是位置将项目添加到ADTSorted列表   java我想更改单击的任何按钮的大小   java为什么我们可以在类加载之前使用新操作符   继承,子类,使用超级打印。Java中的print()