{ "info": { "author": "Xing-Huang", "author_email": "hxg@palliums.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "ViolasClient\u662f\u5de5\u5177\u96c6\u5408\uff0c\u4ed6\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u4e0eViolas Network\u8fdb\u884c\u4ea4\u4e92: \n1.`violas_shell`, \u4e0eviolas\u4ea4\u4e92\u7684shell\u7a0b\u5e8f \n2.`python api`, \u5ba2\u6237\u7aef\u8bbf\u95eeViolas\u7684api\u96c6\u5408\u3002python\u7a0b\u5e8f\u5458\u4f7f\u7528\u6b64\u5ba2\u6237\u7aef\u6765\u4e0eviolas network\u8fdb\u884c\u4ea4\u4e92\n\n## \u5b89\u88c5\n```sh\n$ pip3 install violas-client\n```\n\n## violas_shell\u7684\u4f7f\u7528\u65b9\u5f0f:\n\u642d\u5efa\u4e00\u4e2aviolas\u8282\u70b9,\u7ec8\u7aef\u8f93\u5165\"violas_shell\"\u547d\u4ee4,\u5982\u4e0b\u672c\u5730\u642d\u5efa\u6240\u793a: \n```sh\n$ violas_shell -a localhost -p 36723 -s \"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\" -m \"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\"\n```\n-a: host -p: port -s: \u5171\u8bc6\u8282\u70b9\u7684\u57fa\u672c\u4fe1\u606f -m: mint\u8bb8\u53ef\u5730\u5740\u7684\u76f8\u5173\u4fe1\u606f \n\n\u8fde\u63a5Violas Network\u6210\u529f\u540e\u5982\u4e0b: \n![libra shell](https://github.com/violas-project/violas-client/raw/master/docs/shell.png \"libra shell\") \n\u67e5\u770b\u5173\u4e8eviolas\u7684\u6307\u4ee4: \n![libra shell](https://github.com/violas-project/violas-client/raw/master/docs/violas.png \"libra shell\") \n\n## \u521b\u5efa\u7b2c\u4e00\u7b14violas\u4ea4\u6613 \n### \u7b2c\u4e00\u6b65:\u521b\u5efa\u4e24\u4e2a\u8d26\u6237 \n```sh\nviolas% account create\n>> Creating/retrieving next account from wallet\nCreated/retrieved account #0 address 6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\nviolas% account create\n>> Creating/retrieving next account from wallet\nCreated/retrieved account #1 address bce9dece4f3cb14374993421a5e2095f25552e3528f007cbd91ad214ab752a50\n```\n### \u7b2c\u4e8c\u6b65:\u5411\u4e24\u4e2a\u8d26\u6237mint\u5e73\u53f0\u5e01 \n```shell script\nviolas% account mint 0 100\n>> Minting coins\nargs = [, ]\nMint request submitted\nviolas% account mint 1 100\n>> Minting coins\nargs = [, ]\nMint request submitted\n```\n### \u7b2c\u4e09\u6b65:\u4e00\u4e2a\u8d26\u6237\u53d1\u5e03\u7a33\u5b9a\u5e01 \n```shell script\nviolas% v p 0 \n>> Publishing module\nPublish request submitted\nviolas% q as 0 \n>> Getting latest account state\nLatest account state is: \n Account: 6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\n State: {\n ordered_map: {\n b'\\x00\\xdai\\xc8]\\xe1\\xd9^\\nDz}\\xa3\\x9e|2X\\xa2\\xc0\\xa7\\x02=9\\x9d\\x9bg=\\x96,&8\\xb6=': 4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e746f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a00000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102,\n b'\\x01!}\\xa6\\xc6\\xb3\\xe1\\x9f\\x18%\\xcf\\xb2gm\\xae\\xcc\\xe3\\xbf=\\xe0<\\xf2fG\\xc7\\x8d\\xf0\\x0b7\\x1b%\\xcc\\x97': 200000006f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a00e1f505000000000000010000000000000020000000799ef8e880dc7e37b1c223d0a84f0dbdba709dcc7a725747b519db33e487fe400000000000000000200000001b70c022d0c185e449f859da24825ae4c67de7675e4a47ec04f7c97cb986f8850100000000000000,\n },\n}\nDecoded:\n{\n authentication_key: 6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a,\n balance: 100000000,\n delegated_key_rotation_capability: False,\n delegated_withdrawal_capability: False,\n received_events: {\n count: 1,\n key: 799ef8e880dc7e37b1c223d0a84f0dbdba709dcc7a725747b519db33e487fe40,\n },\n sent_events: {\n count: 0,\n key: 1b70c022d0c185e449f859da24825ae4c67de7675e4a47ec04f7c97cb986f885,\n },\n sequence_number: 1,\n}\n Blockchain Version: 3\n\n```\n### \u7b2c\u56db\u6b65:\u4e24\u4e2a\u8d26\u6237\u5bf9\u8be5\u5e01\u521d\u59cb\u5316\uff1a \n```shell script\nviolas% v i 0 0 \n>> Initing module\ninit request submitted\nviolas% v i 1 0\n>> Initing module\ninit request submitted\n\n```\n### \u7b2c\u4e94\u6b65:\u53d1\u9001mint\u4ea4\u6613\u5230\u4e00\u8d26\u6237:\n```shell script\nviolas% v m 0 100 0\n>> Minting coins\nMint request submitted\nviolas% v b 0 0 \nBalance is: 100.0\n\n```\n### \u7b2c\u516d\u6b65:\u53d1\u9001\u4ea4\u6613 \n```shell script\nviolas% v t 0 1 20 0 \n>> Transferring\nTransaction submitted to validator\nTo query for transaction status, run: query txn_acc_seq 0 0 \nviolas% \nviolas% v b 0 0 \nBalance is: 80.0\nviolas% v b 1 0\nBalance is: 20.0\n```\n\n\n## python api\u4f7f\u7528 \n\n\n### \u521b\u5efa\u548c\u5bfc\u5165\u94b1\u5305\n```py\nimport libra\n\n# Create a new random wallet\nwallet = libra.WalletLibrary.new()\n\n# Create a new wallet from mnemonic words\nwallet = libra.WalletLibrary.new_from_mnemonic(mnemonic, child_count)\n\n# Recover wallet from a offical Libra CLI backup file\nwallet = libra.WalletLibrary.recover(filename)\n```\n\n### \u521b\u5efa\u8d26\u6237 \n```py\n\nprint(wallet.child_count)\naccount1 = wallet.new_account()\nprint(wallet.child_count)\nprint(account1.address)\nprint(account1.public_key)\nprint(account1.private_key)\n\n```\n\n### \u5ba2\u6237\u7aef\u8fde\u63a5\u8282\u70b9 \n\n```py\nfrom libra import Client\n\nclient2 = Client.new('localhost', 8000, \"validator_file_path\") # Client connecting to a local node\n```\n\n### \u83b7\u53d6\u5730\u5740\u7684\u8d26\u6237\u4fe1\u606f\n\n``` plaintext\n# An account stores its data in a directory structure, for example:\n# /balance: 10\n# /a/b/mymap: {\"Bob\" => \"abcd\", \"Carol\" => \"efgh\"}\n# /a/myint: 20\n# /c/mylist: [3, 5, 7, 9]\n#\n# If someone needs to query the map above and find out what value associated with \"Bob\" is,\n# `address` will be set to Alice and `path` will be set to \"/a/b/mymap/Bob\".\n#\n# On the other hand, if you want to query only /a/*, `address` will be set to Alice and\n# `path` will be set to \"/a\" and use the `get_prefix()` method from statedb\n```\n\n#### \u83b7\u53d6\u5730\u5740\u7684\u8d26\u6237\u72b6\u6001\u5757\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\")\nblob, version = client.get_account_blob(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\")\nprint(type(version),version)\nprint(type(blob),blob)\n```\n\u8f93\u51fa \n```text\n 7\n blob: \"\\006\\000\\000\\000!\\000\\000\\000\\000\\332i\\310]\\341\\331^\\nDz}\\243\\236|2X\\242\\300\\247\\002=9\\235\\233g=\\226,&8\\266=h\\004\\000\\000LIBRAVM\\n\\001\\000\\013\\001n\\000\\000\\000\\014\\000\\000\\000\\002z\\000\\000\\000\\031\\000\\000\\000\\003\\223\\000\\000\\000\\036\\000\\000\\000\\014\\261\\000\\000\\000\\022\\000\\000\\000\\r\\303\\000\\000\\0006\\000\\000\\000\\016\\371\\000\\000\\000N\\000\\000\\000\\005G\\001\\000\\000.\\001\\000\\000\\004u\\002\\000\\000@\\000\\000\\000\\t\\265\\002\\000\\000\\024\\000\\000\\000\\n\\311\\002\\000\\000\\030\\000\\000\\000\\013\\341\\002\\000\\000\\207\\001\\000\\000\\000\\000\\001\\001\\001\\002\\001\\003\\001\\004\\001\\005\\000\\006\\001\\000\\000\\007\\001\\000\\000\\010\\001\\000\\000\\t\\002\\000\\000\\n\\002\\000\\002\\026\\001\\001\\002\\000\\013\\000\\000\\014\\000\\000\\r\\000\\000\\016\\001\\000\\017\\002\\000\\020\\003\\000\\021\\001\\000\\022\\004\\002\\033\\005\\002\\034\\006\\001\\002\\001\\007\\005\\001\\007\\003\\000\\001\\007\\005\\001\\007\\004\\000\\001\\004\\002\\000\\000\\000\\002\\001\\007\\001\\000\\001\\002\\000\\002\\001\\002\\000\\000\\002\\000\\002\\004\\007\\001\\000\\000\\002\\000\\002\\004\\002\\000\\002\\001\\007\\005\\001\\t\\000\\000\\001\\002\\002\\000\\002\\006\\007\\005\\001\\t\\000\\t\\000\\001\\002\\003\\001\\004\\003\\000\\003\\001\\007\\003\\000\\003\\001\\007\\004\\000\\003\\002\\004\\001\\003\\001\\002\\003\\003\\004\\005\\007\\001\\000\\002\\003\\005\\004\\007\\001\\000\\006\\007\\001\\000\\002\\002\\003\\004\\002\\004\\006\\007\\001\\000\\002\\003\\n\\004\\002\\007\\001\\000\\004\\006\\007\\002\\000\\006\\007\\002\\000\\007\\003\\000\\007\\004\\000\\002\\006\\007\\002\\000\\006DToken\\004Hash\\005Event\\007U64Util\\013AddressUtil\\rBytearrayUtil\\005Owner\\001T\\004Info\\020SentPaymentEvent\\024ReceivedPaymentEvent\\032make_sure_sender_published\\007publish\\rrequire_owner\\004mint\\007balance\\007deposit\\010withdraw\\017pay_from_sender\\005value\\017sequence_number\\013sent_events\\006Handle\\017received_events\\005payee\\006amount\\005payer\\020new_event_handle\\nemit_evento\\t\\036p\\345\\263,L\\364s\\327\\250\\375[H\\3552$<\\'\\004- B)\\351\\354\\202=\\372bz\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\002\\000\\000\\001\\002\\001\\000\\002\\002\\003\\001\\003\\002\\002\\004\\004\\002\\002\\006\\001\\023\\000\\002\\024\\000\\002\\025\\001\\002\\027\\002\\003\\030\\003\\003\\031\\000\\004\\032\\003\\004\\031\\000\\000\\001\\000\\001\\000\\010\\000-\\r\\000\\014\\000.\\001\\001\\\"\\004\\007\\000\\023\\001\\001\\002\\001\\001\\000\\007\\000\\021\\000-\\r\\000\\014\\000\\007\\000#\\004\\010\\000\\024\\000\\0012\\000\\001\\006\\000\\000\\000\\000\\000\\000\\000\\000\\024\\001\\0012\\001\\001\\006\\000\\000\\000\\000\\000\\000\\000\\000\\023\\010\\002\\023\\010\\003\\024\\002\\0012\\002\\001\\002\\002\\001\\000\\001\\004\\013\\000-\\r\\000\\014\\000.\\000\\001\\r\\001\\014\\001\\\"\\004\\n\\000\\006\\000\\000\\000\\000\\000\\000\\000\\000)\\002\\003\\001\\000\\002\\005\\004\\000\\023\\002\\001\\014\\000\\024\\001\\001\\002\\004\\001\\001\\001\\001\\006\\013\\000-\\r\\000\\014\\0000\\001\\001\\r\\001\\014\\001\\021\\000\\026\\r\\002\\014\\002\\002\\005\\001\\001\\001\\002\\007\\021\\000\\014\\000/\\001\\001\\r\\002\\013\\002\\021\\000\\026\\r\\003\\014\\001\\025\\001\\001\\r\\004\\014\\003\\014\\004\\030\\014\\002\\020\\000\\027\\002\\006\\001\\001\\001\\002\\010\\031\\000-\\r\\001\\014\\001/\\001\\001\\r\\002\\013\\002\\021\\000\\026\\r\\003\\013\\003\\013\\000(\\\"\\004\\020\\000\\006\\001\\000\\000\\000\\000\\000\\000\\000)\\014\\003\\013\\000\\031\\014\\002\\020\\000\\027\\014\\000\\024\\001\\001\\002\\007\\001\\002\\001\\002\\005\\t8\\000-\\r\\003\\013\\001\\023\\006\\001\\r\\002\\013\\000\\014\\002\\023\\005\\001\\t\\004\\025\\000\\013\\003/\\002\\001\\r\\004\\013\\000\\013\\001\\024\\003\\001\\r\\006\\014\\004\\020\\002\\014\\006\\023\\t\\002\\t\\004\\\"\\000\\013\\000/\\002\\001\\r\\005\\013\\003\\013\\001\\024\\004\\001\\r\\007\\014\\005\\020\\003\\014\\007\\023\\t\\003\\t\\0041\\000\\013\\003/\\002\\001\\r\\t\\013\\t\\020\\001\\026\\r\\010\\014\\010\\006\\001\\000\\000\\000\\000\\000\\000\\000\\030\\014\\t\\020\\001\\027\\014\\003\\001\\014\\000\\001\\014\\001\\001\\002!\\000\\000\\000\\001\\005\\271\\307X^\\034\\031w\\201\\024-\\205%sNN.\\322\\021\\207)\\337.\\017\\376\\214\\3456\\177\\262\\366\\274\\010\\000\\000\\000\\000\\264\\304\\004\\000\\000\\000\\000!\\000\\000\\000\\001!}\\246\\306\\263\\341\\237\\030%\\317\\262gm\\256\\314\\343\\277=\\340<\\362fG\\307\\215\\360\\0137\\033%\\314\\227\\216\\000\\000\\000 \\000\\000\\000o\\t\\036p\\345\\263,L\\364s\\327\\250\\375[H\\3552$<\\'\\004- B)\\351\\354\\202=\\372bz\\000\\341\\365\\005\\000\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\000\\000 \\000\\000\\000y\\236\\370\\350\\200\\334~7\\261\\302#\\320\\250O\\r\\275\\272p\\235\\314zrWG\\265\\031\\3333\\344\\207\\376@\\000\\000\\000\\000\\000\\000\\000\\000 \\000\\000\\000\\033p\\300\\\"\\320\\301\\205\\344I\\370Y\\332$\\202Z\\344\\306}\\347g^JG\\354\\004\\367\\311|\\271\\206\\370\\205\\004\\000\\000\\000\\000\\000\\000\\000!\\000\\000\\000\\001\\317\\202^\\244 /c\\322\\374\\n\\253>C-\\027\\223\\306\\263\\346\\260\\341\\342\\007\\302\\031t\\317oq\\215\\034\\246\\000\\000\\000\\000!\\000\\000\\000\\001\\352T\\323q\\005\\014\\2662\\027\\371z\\223*\\372\\017\\314R\\305\\n\\314A\\353*I\\264\\032\\376\\207\\300\\360\\242\\363`\\000\\000\\000\\001\\000\\000\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\000\\000 \\000\\000\\0005F\\350l\\221>\\342\\323|[\\351I\\332\\272/\\273\\355\\346\\221b\\301\\322\\210\\262\\343GJ\\2462\\212\\261\\001\\000\\000\\000\\000\\000\\000\\000\\000 \\000\\000\\000\\236\\232@\\202+O\\206\\236\\240\\376\\2203\\000\\203\\317\\032\\361\\\"\\033U\\274K\\031\\026CD\\2073v\\247\\376\\275!\\000\\000\\000\\001\\374|\\332\\315\\261\\271\\265\\373\\356\\336ak*\\240-\\254\\235\\210Uq\\371\\264\\2418H\\270\\326\\031K\\201\\211#\\010\\000\\000\\000\\002\\000\\000\\000\\000\\000\\000\\000\"\n\n```\n\n#### \u83b7\u53d6\u5730\u5740\u7684\u8d26\u6237\u72b6\u6001\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\")\namap = client.get_account_state(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\")\nprint(type(amap))\nprint(amap.to_json())\n```\n\u8f93\u51fa \n```text\n \n{\n \"ordered_map\": {\n \"00da69c85de1d95e0a447a7da39e7c3258a2c0a7023d399d9b673d962c2638b63d\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e746f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a00000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"0105b9c7585e1c197781142d8525734e4e2ed2118729df2e0ffe8ce5367fb2f6bc\": \"00b4c40400000000\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000006f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a00e1f505000000000000010000000000000020000000799ef8e880dc7e37b1c223d0a84f0dbdba709dcc7a725747b519db33e487fe400000000000000000200000001b70c022d0c185e449f859da24825ae4c67de7675e4a47ec04f7c97cb986f8850400000000000000\",\n \"01cf825ea4202f63d2fc0aab3e432d1793c6b3e6b0e1e207c21974cf6f718d1ca6\": \"\",\n \"01ea54d371050cb63217f97a932afa0fcc52c50acc41eb2a49b41afe87c0f0a2f3\": \"01000000000000000100000000000000200000003546e86c913ee2d37c5be949daba2fbbede69162c1d288b2e3474aa6328ab1010000000000000000200000009e9a40822b4f869ea0fe90330083cf1af1221b55bc4b19164344873376a7febd\",\n \"01fc7cdacdb1b9b5fbeede616b2aa02dac9d885571f9b4a13848b8d6194b818923\": \"0200000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\",\n \"balance\": 100000000,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"799ef8e880dc7e37b1c223d0a84f0dbdba709dcc7a725747b519db33e487fe40\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1b70c022d0c185e449f859da24825ae4c67de7675e4a47ec04f7c97cb986f885\"\n },\n \"sequence_number\": 4\n }\n}\n```\n\n#### \u83b7\u53d6\u5730\u5740\u7684\u5e73\u53f0\u5e01\u8d44\u6e90\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\")\nresource = client.get_account_resource(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\")\nprint(type(resource))\nprint(resource.to_json())\n```\n\u8f93\u51fa \n```text\n\n{\n \"authentication_key\": \"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\",\n \"balance\": 100000000,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"799ef8e880dc7e37b1c223d0a84f0dbdba709dcc7a725747b519db33e487fe40\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1b70c022d0c185e449f859da24825ae4c67de7675e4a47ec04f7c97cb986f885\"\n },\n \"sequence_number\": 4\n}\n```\n\n#### \u83b7\u53d6\u5730\u5740\u7684\u5e73\u53f0\u5e01\u4f59\u989d\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\")\nbalance = client.get_balance(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\")\nprint(type(balance))\nprint(balance)\n\n```\n\u8f93\u51fa \n```text\n\n100000000\n```\n\n#### \u83b7\u53d6\u5730\u5740\u53d1\u9001\u4ea4\u6613\u7684\u5e8f\u5217\u53f7\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\")\nseq = client.get_sequence_number(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\")\nprint(type(seq))\nprint(seq)\n```\n\n\u8f93\u51fa \n```text\n\n4\n```\n\n### mint\u5e73\u53f0\u5e01\n\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nprint(client.get_balance(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\"))\nbalance = client.mint_coins(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\",100,True)\nprint(client.get_balance(\"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\"))\n```\n\u8f93\u51fa \n```text\n100000000\nargs = [, ]\nwaiting\ntransaction is stored!\n100000100\n```\n### \u53d1\u9001\u5e73\u53f0\u5e01\u4ea4\u6613\n\n\n```py\nfrom libra import Client\nfrom libra import WalletLibrary\n\nwallet = WalletLibrary.new()\na1 = wallet.new_account()\na2 = wallet.new_account()\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nclient.mint_coins(a1.address,100,True)\nprint(\"before: a1 balance = \",client.get_balance(a1.address))\nprint(\"before: a2 balance = \",client.get_balance(a2.address))\nclient.transfer_coin(a1,a2.address,20,is_blocking = True)\nprint(\"after: a1 balance = \",client.get_balance(a1.address))\nprint(\"after: a2 balance = \",client.get_balance(a2.address))\n```\n\n\u8f93\u51fa \n```text\nwaiting\ntransaction is stored!\nbefore: a1 balance = 100\nbefore: a2 balance = 0\nwaiting\ntransaction is stored!\nafter: a1 balance = 80\nafter: a2 balance = 20\n```\n\n### \u53d1\u9001\u539f\u59cb\u4ea4\u6613\n```python\nfrom libra import Client\nfrom libra.proto.admission_control_pb2 import SubmitTransactionRequest\nimport time\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nrequest = SubmitTransactionRequest()\nprint(\"before: 3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728 balance = \",client.get_balance(\"3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728\"))\nprint(\"before: 84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412 balance = \",client.get_balance(\"84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412\"))\nrequest.signed_txn.signed_txn = bytes.fromhex(\"200000003c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728000000000000000002000000b80000004c49425241564d0a010007014a00000004000000034e000000060000000d54000000060000000e5a0000000600000005600000002900000004890000002000000008a90000000f00000000000001000200010300020002040200030204020300063c53454c463e0c4c696272614163636f756e74046d61696e0f7061795f66726f6d5f73656e6465720000000000000000000000000000000000000000000000000000000000000000000100020004000c000c011301010202000000010000002000000084e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412000000001400000000000000e0220200000000000000000000000000da5db15d000000002000000069e26a3fe50acf1432a349d1051a38eb8ab1a433cda2e1014df63c645fac704940000000b0e63709b76ad19e7b79e395f70be0569b724c9ed7a372442d07cf051d85b93c58b0ce5232774c2e2e93fddcda27dd71e358be888b8cf4a23a93fb98891cd70a\")\nclient.submit_signed_txn(request)\ntime.sleep(2)\nprint(\"after: 3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728 balance = \",client.get_balance(\"3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728\"))\nprint(\"after: 84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412 balance = \",client.get_balance(\"84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412\"))\n\n\n```\n\n\u8f93\u51fa \n```text\nbefore: 3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728 balance = 200\nbefore: 84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412 balance = 200\nafter: 3c6e62667ab1fe77a360023f2298fc0b74b16673f35de56f949cae51437b0728 balance = 180\nafter: 84e44483d4ca55cdedb8dd609116b63a3d59f1c9e66327944ed37a580980f412 balance = 220\n```\n### \u67e5\u8be2\u4ea4\u6613\n\n\u901a\u8fc7\u7248\u672c\u67e5\u8be2\u4ea4\u6613:\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\ntr = client.get_transaction(1)\nprint(type(tr))\nprint(tr.to_json())\n```\n\n\n\u8f93\u51fa \n```text\n\n{\n \"raw_txn\": {\n \"sender\": \"000000000000000000000000000000000000000000000000000000000a550c18\",\n \"sequence_number\": 1,\n \"payload\": {\n \"Script\": {\n \"code\": \"4c49425241564d0a010007014a000000060000000350000000060000000d56000000060000000e5c0000000600000005620000003300000004950000002000000008b50000000f000000000000010002000300010400020002040200030204020300063c53454c463e0c4c696272614163636f756e74094c69627261436f696e046d61696e0f6d696e745f746f5f616464726573730000000000000000000000000000000000000000000000000000000000000000000100020004000c000c0113010102\",\n \"args\": [\n {\n \"Address\": \"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\"\n },\n {\n \"U64\": 100000000\n }\n ]\n }\n },\n \"max_gas_amount\": 140000,\n \"gas_unit_price\": 0,\n \"expiration_time\": 1571896599\n },\n \"public_key\": \"664f6e8f36eacb1770fa879d86c2c1d0fafea145e84fa7d671ab7a011a54d509\",\n \"signature\": \"e2c71ccb24d00e1e01795346084f62e6c7de409ce6fc9bd2226ca6c0ab531e25ec15c4d78d25344158f63500f42c75f9afefe82e36716c7cbcd635fc5e76ea00\"\n}\n```\n\n\u83b7\u53d6\u4e00\u7cfb\u5217\u4ea4\u6613:\n\n```py\nfrom libra import Client\n\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\ntrs = client.get_transactions(1,3)\nprint(len(trs))\nfor tr in trs:\n print(type(tr))\n print(tr.to_json())\n```\n\u8f93\u51fa \n```text\n3\n\n{\n \"raw_txn\": {\n \"sender\": \"000000000000000000000000000000000000000000000000000000000a550c18\",\n \"sequence_number\": 1,\n \"payload\": {\n \"Script\": {\n \"code\": \"4c49425241564d0a010007014a000000060000000350000000060000000d56000000060000000e5c0000000600000005620000003300000004950000002000000008b50000000f000000000000010002000300010400020002040200030204020300063c53454c463e0c4c696272614163636f756e74094c69627261436f696e046d61696e0f6d696e745f746f5f616464726573730000000000000000000000000000000000000000000000000000000000000000000100020004000c000c0113010102\",\n \"args\": [\n {\n \"Address\": \"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\"\n },\n {\n \"U64\": 100000000\n }\n ]\n }\n },\n \"max_gas_amount\": 140000,\n \"gas_unit_price\": 0,\n \"expiration_time\": 1571896599\n },\n \"public_key\": \"664f6e8f36eacb1770fa879d86c2c1d0fafea145e84fa7d671ab7a011a54d509\",\n \"signature\": \"e2c71ccb24d00e1e01795346084f62e6c7de409ce6fc9bd2226ca6c0ab531e25ec15c4d78d25344158f63500f42c75f9afefe82e36716c7cbcd635fc5e76ea00\"\n}\n\n{\n \"raw_txn\": {\n \"sender\": \"000000000000000000000000000000000000000000000000000000000a550c18\",\n \"sequence_number\": 2,\n \"payload\": {\n \"Script\": {\n \"code\": \"4c49425241564d0a010007014a000000060000000350000000060000000d56000000060000000e5c0000000600000005620000003300000004950000002000000008b50000000f000000000000010002000300010400020002040200030204020300063c53454c463e0c4c696272614163636f756e74094c69627261436f696e046d61696e0f6d696e745f746f5f616464726573730000000000000000000000000000000000000000000000000000000000000000000100020004000c000c0113010102\",\n \"args\": [\n {\n \"Address\": \"bce9dece4f3cb14374993421a5e2095f25552e3528f007cbd91ad214ab752a50\"\n },\n {\n \"U64\": 100000000\n }\n ]\n }\n },\n \"max_gas_amount\": 140000,\n \"gas_unit_price\": 0,\n \"expiration_time\": 1571896602\n },\n \"public_key\": \"664f6e8f36eacb1770fa879d86c2c1d0fafea145e84fa7d671ab7a011a54d509\",\n \"signature\": \"da8e4da1578f2840d25377ab07380a2a8e9a8e338b3112cd6a701308fdd54a37c17f83518c0746fa033c1b04ec79287c062155f22c9ab3529535faf8a874ff06\"\n}\n\n{\n \"raw_txn\": {\n \"sender\": \"6f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a\",\n \"sequence_number\": 0,\n \"payload\": {\n \"Module\": {\n \"code\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e746f091e70e5b32c4cf473d7a8fd5b48ed32243c27042d204229e9ec823dfa627a00000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\"\n }\n },\n \"max_gas_amount\": 140000,\n \"gas_unit_price\": 0,\n \"expiration_time\": 1571896722\n },\n \"public_key\": \"495f9df06e9abad96e7a90c034ecc242f9caf349dbfdeb45e475ee2cc8eb5c2a\",\n \"signature\": \"42b2b13ed6e93cd5f3f268dc3c92f9983245c5a1bdb53de1c3fa4bfb8a15be0f1da1014b50b198000d08f91f2b458107d6f6a025306025139c7426d70e71e50c\"\n}\n```\n## \u7a33\u5b9a\u5e01\n\n### \u53d1\u5e03\u5408\u7ea6\n```text\nfrom libra import Client\nfrom libra import WalletLibrary\n\n\nwallet = WalletLibrary.new()\nac = wallet.new_account()\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nclient.mint_coins(ac.address,100,True)\nprint(\"before: state = \",client.get_account_state(ac.address).to_json())\nclient.publish_violas_coin(ac,True)\nprint(\"after: state = \",client.get_account_state(ac.address).to_json())\nwallet.write_recovery(\".wallet/module\")\n```\n\n\u8f93\u51fa \n```text\nwaiting\ntransaction is stored!\nbefore: state = {\n \"ordered_map\": {\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b0000000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 0\n }\n}\nwaiting\ntransaction is stored!\nno events emitted\nafter: state = {\n \"ordered_map\": {\n \"0090dc055eeba74a7c832ed4f72b6ee9ccf80db743408b7b4641b00ea2e7fab853\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e742ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd000000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b0100000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 1\n }\n}\n```\n\n### \u521d\u59cb\u5316 \n\u8d26\u6237\u5728\u4f7f\u7528\u6bcf\u4e2a\u7a33\u5b9a\u5e01\u7684\u65f6\u5019\u90fd\u9700\u8981\u8fd9\u4e2a\u8fc7\u7a0b\n```python\nfrom libra import Client\nfrom libra import WalletLibrary\n\n\nmodule_account = WalletLibrary.recover(\".wallet/module\").accounts[0]\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nprint(\"before: state = \",client.get_account_state(module_account.address).to_json())\nclient.init_violas_coin(module_account, module_account.address, True)\nprint(\"after: state = \",client.get_account_state(module_account.address).to_json())\n```\n\u8f93\u51fa \n```text\nbefore: state = {\n \"ordered_map\": {\n \"0090dc055eeba74a7c832ed4f72b6ee9ccf80db743408b7b4641b00ea2e7fab853\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e742ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd000000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b0100000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 1\n }\n}\nwaiting\ntransaction is stored!\nno events emitted\nafter: state = {\n \"ordered_map\": {\n \"0090dc055eeba74a7c832ed4f72b6ee9ccf80db743408b7b4641b00ea2e7fab853\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e742ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd000000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"0117396040a90aa651a09762b97478f0b31aaf8df5845e1c4097137facc3a25c15\": \"\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b0200000000000000\",\n \"0137200349bc88eb3d4689856a93a2c11fa4d85402bdeafb0bd962b957e1a4be7d\": \"00000000000000000000000000000000200000001e8125f1d73ee5c0ef51a3570ebfe37a452ff8255785801ff33474351ef96a9b0000000000000000200000008e78101a64339c2df951effe6e47324ba59037965b0452c3bdeade57aaf600ae\",\n \"016e598c3746edfe81d7a3bdb690b6dce90f02a392357f530ceb40a947df42017a\": \"0000000000000000\",\n \"01fc7cdacdb1b9b5fbeede616b2aa02dac9d885571f9b4a13848b8d6194b818923\": \"0200000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 2\n }\n}\n```\n\n### \u53d1\u5e01\n\u53ea\u6709owner\u8d26\u6237\u624d\u53ef\u4ee5\u53d1\u5e01\n```python\nfrom libra import Client\nfrom libra import WalletLibrary\n\nmodule_account = WalletLibrary.recover(\".wallet/module\").accounts[0]\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nprint(\"before: state = \",client.get_account_state(module_account.address).to_json())\nprint(\"before: balance = \",client.get_violas_balance(module_account.address,module_account.address))\nclient.mint_violas_coins(module_account.address, 100, module_account, True)\nprint(\"after: state = \",client.get_account_state(module_account.address).to_json())\nprint(\"after: balance = \",client.get_violas_balance(module_account.address,module_account.address))\n\n```\n\u8f93\u51fa \n```text\nbefore: state = {\n \"ordered_map\": {\n \"0090dc055eeba74a7c832ed4f72b6ee9ccf80db743408b7b4641b00ea2e7fab853\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e742ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd000000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"0117396040a90aa651a09762b97478f0b31aaf8df5845e1c4097137facc3a25c15\": \"\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b1100000000000000\",\n \"0137200349bc88eb3d4689856a93a2c11fa4d85402bdeafb0bd962b957e1a4be7d\": \"00000000000000000000000000000000200000001e8125f1d73ee5c0ef51a3570ebfe37a452ff8255785801ff33474351ef96a9b0000000000000000200000008e78101a64339c2df951effe6e47324ba59037965b0452c3bdeade57aaf600ae\",\n \"016e598c3746edfe81d7a3bdb690b6dce90f02a392357f530ceb40a947df42017a\": \"dc05000000000000\",\n \"01fc7cdacdb1b9b5fbeede616b2aa02dac9d885571f9b4a13848b8d6194b818923\": \"0200000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 17\n }\n}\nbefore: balance = 1500\nwaiting\ntransaction is stored!\nno events emitted\nafter: state = {\n \"ordered_map\": {\n \"0090dc055eeba74a7c832ed4f72b6ee9ccf80db743408b7b4641b00ea2e7fab853\": \"4c49425241564d0a01000b016e0000000c000000027a0000001900000003930000001e0000000cb1000000120000000dc3000000360000000ef90000004e00000005470100002e01000004750200004000000009b5020000140000000ac9020000180000000be10200008701000000000101010201030104010500060100000701000008010000090200000a02000216010102000b00000c00000d00000e01000f02001003001101001204021b05021c06010201070501070300010705010704000104020000000201070100010200020102000002000204070100000200020402000201070501090000010202000206070501090009000102030104030003010703000301070400030204010301020303040507010002030504070100060701000202030402040607010002030a040207010004060702000607020007030007040002060702000644546f6b656e0448617368054576656e74075536345574696c0b416464726573735574696c0d4279746561727261795574696c054f776e6572015404496e666f1053656e745061796d656e744576656e741452656365697665645061796d656e744576656e741a6d616b655f737572655f73656e6465725f7075626c6973686564077075626c6973680d726571756972655f6f776e6572046d696e740762616c616e6365076465706f7369740877697468647261770f7061795f66726f6d5f73656e6465720576616c75650f73657175656e63655f6e756d6265720b73656e745f6576656e74730648616e646c650f72656365697665645f6576656e747305706179656506616d6f756e74057061796572106e65775f6576656e745f68616e646c650a656d69745f6576656e742ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd000000000000000000000000000000000000000000000000000000000000000000002000001020100020203010302020404020206011300021400021501021702031803031900041a03041900000100010008002d0d000c002e01012204070013010102010100070011002d0d000c000700230408001400013200010600000000000000001401013201010600000000000000001308021308031402013202010202010001040b002d0d000c002e00010d010c0122040a000600000000000000002902030100020504001302010c00140101020401010101060b002d0d000c003001010d010c011100160d020c020205010101020711000c002f01010d020b021100160d030c011501010d040c030c04180c021000170206010101020819002d0d010c012f01010d020b021100160d030b030b002822041000060100000000000000290c030b00190c021000170c00140101020701020102050938002d0d030b011306010d020b000c02130501090415000b032f02010d040b000b011403010d060c0410020c06130902090422000b002f02010d050b030b011404010d070c0510030c07130903090431000b032f02010d090b091001160d080c08060100000000000000180c091001170c03010c00010c010102\",\n \"0117396040a90aa651a09762b97478f0b31aaf8df5845e1c4097137facc3a25c15\": \"\",\n \"01217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc97\": \"200000002ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0640000000000000000000100000000000000200000002a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e690000000000000000200000001ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b1200000000000000\",\n \"0137200349bc88eb3d4689856a93a2c11fa4d85402bdeafb0bd962b957e1a4be7d\": \"00000000000000000000000000000000200000001e8125f1d73ee5c0ef51a3570ebfe37a452ff8255785801ff33474351ef96a9b0000000000000000200000008e78101a64339c2df951effe6e47324ba59037965b0452c3bdeade57aaf600ae\",\n \"016e598c3746edfe81d7a3bdb690b6dce90f02a392357f530ceb40a947df42017a\": \"4006000000000000\",\n \"01fc7cdacdb1b9b5fbeede616b2aa02dac9d885571f9b4a13848b8d6194b818923\": \"0200000000000000\"\n },\n \"Decoded_resource\": {\n \"authentication_key\": \"2ef00c60174ae8fbfd5db2920fabdde0349aab56e3b45a4e873e11401303afd0\",\n \"balance\": 100,\n \"delegated_key_rotation_capability\": false,\n \"delegated_withdrawal_capability\": false,\n \"received_events\": {\n \"count\": 1,\n \"key\": \"2a18b30138fc36f7eb8e311b0a8559fb97aced8530cb675d760286af01348e69\"\n },\n \"sent_events\": {\n \"count\": 0,\n \"key\": \"1ab028d81656e724fdad8e540513020b0e130b5d0ff5979576be1ec1887e228b\"\n },\n \"sequence_number\": 18\n }\n}\nafter: balance = 1600\n```\n\n### \u4ea4\u6613 \n```python\nfrom libra import Client\nfrom libra import WalletLibrary\n\nmodule_account = WalletLibrary.recover(\".wallet/module\").accounts[0]\nwallet = WalletLibrary.new()\na1 = wallet.new_account()\na2 = wallet.new_account()\nclient = Client.new('localhost',36723,\"/tmp/bf17da3786467620a4aa3f3082ecff91/0/consensus_peers.config.toml\",\"/tmp/a3929e4a2b99505e00fa8385a4fe8b18/temp_faucet_keys\")\nclient.mint_coins(a1.address, 100, True)\nclient.mint_coins(a2.address, 100, True)\nclient.init_violas_coin(a1, module_account.address, True)\nclient.init_violas_coin(a2, module_account.address, True)\nclient.mint_violas_coins(a1.address, 100, module_account, True)\nprint(\"before: a1 violas balance = \", client.get_violas_balance(a1.address, module_account.address))\nprint(\"before: a2 violas balance = \", client.get_violas_balance(a2.address, module_account.address))\nclient.transfer_violas_coin(a1, a2.address, 20, module_account.address, is_blocking=True)\nprint(\"after: a1 violas balance = \", client.get_violas_balance(a1.address, module_account.address))\nprint(\"after: a2 violas balance = \", client.get_violas_balance(a2.address, module_account.address))\n```\n\n\u8f93\u51fa\n```text\nwaiting\ntransaction is stored!\nwaiting\ntransaction is stored!\nwaiting\ntransaction is stored!\nno events emitted\nwaiting\ntransaction is stored!\nno events emitted\nwaiting\ntransaction is stored!\nno events emitted\nbefore: a1 violas balance = 100\nbefore: a2 violas balance = 0\nwaiting\ntransaction is stored!\nafter: a1 violas balance = 80\nafter: a2 violas balance = 20\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/violas-project/violas-client.git", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "violas-client", "package_url": "https://pypi.org/project/violas-client/", "platform": "", "project_url": "https://pypi.org/project/violas-client/", "project_urls": { "Homepage": "https://github.com/violas-project/violas-client.git" }, "release_url": "https://pypi.org/project/violas-client/0.0.2/", "requires_dist": [ "canoser (>=0.5.2)", "protobuf", "grpcio", "more-itertools", "PyNaCl", "pygments", "requests", "toml", "mnemonic" ], "requires_python": ">=3.6", "summary": "A CLI inteface Violas client and Python API for Violas blockchain.", "version": "0.0.2", "yanked": false, "yanked_reason": null }, "last_serial": 6022741, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cad6112691080b56ad3902c9fa34bd99", "sha256": "4d26a23d2fffb4e62c11ca0c13d2e2b83b29c56a8fe556df609f3f2d451f89c8" }, "downloads": -1, "filename": "violas_client-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cad6112691080b56ad3902c9fa34bd99", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 114995, "upload_time": "2019-10-24T05:14:52", "upload_time_iso_8601": "2019-10-24T05:14:52.665635Z", "url": "https://files.pythonhosted.org/packages/3b/ac/4ff44364da09297bb5e9b22d624c1b3c55508dd494a512ab80f65d78273e/violas_client-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d77d803481cdd667f485908ac024de98", "sha256": "da12cff604329559ee2818b1fcd712b25824fa60a7390a5e70399cd0521b1bb8" }, "downloads": -1, "filename": "violas-client-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d77d803481cdd667f485908ac024de98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 80052, "upload_time": "2019-10-24T05:14:55", "upload_time_iso_8601": "2019-10-24T05:14:55.816679Z", "url": "https://files.pythonhosted.org/packages/0e/fc/fdb313258116450477a4f6f3937a45267e012d6027b98fc957fb00557147/violas-client-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "cebbae2d4a214677850f1961bea51d4f", "sha256": "dcbcb6852af80db0c9b069c66d90e984069594ece8d3870b05353224efa2178f" }, "downloads": -1, "filename": "violas_client-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cebbae2d4a214677850f1961bea51d4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 120208, "upload_time": "2019-10-24T09:32:56", "upload_time_iso_8601": "2019-10-24T09:32:56.568277Z", "url": "https://files.pythonhosted.org/packages/ca/e0/6846d9e0bb0ef7640abef8aebdcf12a0b2751d5a8fc508c88074a8f4fcd1/violas_client-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19d200a461f66db639e755ab467216bb", "sha256": "4eee23bd13d4a81452e811adf19f0b0472857e8736a0e4135bc0dd0aee4dab54" }, "downloads": -1, "filename": "violas-client-0.0.2.tar.gz", "has_sig": false, "md5_digest": "19d200a461f66db639e755ab467216bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 99014, "upload_time": "2019-10-24T09:32:59", "upload_time_iso_8601": "2019-10-24T09:32:59.172596Z", "url": "https://files.pythonhosted.org/packages/2f/81/13cb7ce04fc69cdb3da098c77e52b297aa7241a09dc578397db848f584fc/violas-client-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cebbae2d4a214677850f1961bea51d4f", "sha256": "dcbcb6852af80db0c9b069c66d90e984069594ece8d3870b05353224efa2178f" }, "downloads": -1, "filename": "violas_client-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cebbae2d4a214677850f1961bea51d4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 120208, "upload_time": "2019-10-24T09:32:56", "upload_time_iso_8601": "2019-10-24T09:32:56.568277Z", "url": "https://files.pythonhosted.org/packages/ca/e0/6846d9e0bb0ef7640abef8aebdcf12a0b2751d5a8fc508c88074a8f4fcd1/violas_client-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19d200a461f66db639e755ab467216bb", "sha256": "4eee23bd13d4a81452e811adf19f0b0472857e8736a0e4135bc0dd0aee4dab54" }, "downloads": -1, "filename": "violas-client-0.0.2.tar.gz", "has_sig": false, "md5_digest": "19d200a461f66db639e755ab467216bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 99014, "upload_time": "2019-10-24T09:32:59", "upload_time_iso_8601": "2019-10-24T09:32:59.172596Z", "url": "https://files.pythonhosted.org/packages/2f/81/13cb7ce04fc69cdb3da098c77e52b297aa7241a09dc578397db848f584fc/violas-client-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }