OSDN Git Service

caa7b721a59ff6b81181fd367636ceada4840025
[bytom/bytom-spanner.git] / utxomerger / transaction_test.py
1 import unittest
2
3 from Transaction import Transaction, Action
4 from connection import Connection
5
6
7 class TestTransactionMethods(unittest.TestCase):
8
9     def test_list_transactions(self):
10         con = Connection("http://127.0.0.1:9888")
11         transactions = Transaction.list_transactions(con)
12         for tx in transactions:
13             print(tx)
14
15     def test_list_by_account_id(self):
16         con = Connection("http://127.0.0.1:9888")
17         account_id = "0E6KP8C100A02"
18         transactions = Transaction.list_by_account_id(con, account_id)
19         for tx in transactions:
20             print(tx)
21
22     def test_list_by_account_alias(self):
23         con = Connection("http://127.0.0.1:9888")
24         account_alias = "receiver-account"
25         transactions = Transaction.list_by_account_alias(con, account_alias)
26         for tx in transactions:
27             print(tx)
28
29     def test_get_transaction(self):
30         con = Connection("http://116.62.130.184:9888")
31         tx_id = "eb535916e05ecee1a193ce489e5151c873f459639fcabffdc2df69f7f76fc550"
32         tx, ret = Transaction.get_transaction(con, tx_id)
33         print(tx)
34         print(ret)
35
36     def test_issue_transaction(self):
37         # build transaction
38         con = Connection("http://127.0.0.1:9888")
39         asset_id = 'd2d938352d324e68c21b3c8b3a7f8587f237d100cd5618cc0ba3ba35bbb7185d'
40         account_id = '0E6K7AFF00A02'
41         btm_id = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
42         address = 'sm1qz2j8k5anh0d0nu63pcwccxwkn7qu4y2zjwaj5h'
43         actions = [
44             Action.issue(10000, asset_id),
45             Action.gas(20000000, account_id, btm_id),
46             Action.control_address(10000, asset_id, address)
47         ]
48         print(actions)
49         issuance = Transaction.build_transaction(con, actions)
50         print("issuance:", issuance)
51         # sign transaction
52         signed_raw_transaction = Transaction.sign_transaction(con, '123456', issuance)
53         print("signed_raw_transaction:", signed_raw_transaction)
54         # submit transaction
55         tx_id = Transaction.submit_transaction(con, signed_raw_transaction)
56         print("tx_id:", tx_id)
57
58     def test_spend_transaction(self):
59         # build transaction
60         con = Connection("http://127.0.0.1:9888")
61         asset_id = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
62         account_id = '0F87NG1800A02'
63         btm_id = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
64         address = 'sm1qvyus3s5d7jv782syuqe3qrh65fx23lgpzf33em'
65         actions = [
66             Action.spend_account(125000000000, account_id, asset_id),
67             Action.gas(40000000, account_id, btm_id),
68             Action.control_address(5000000000, asset_id, address),
69             Action.control_address(5000000000, asset_id, address),
70             Action.control_address(5000000000, asset_id, address),
71             Action.control_address(5000000000, asset_id, address),
72             Action.control_address(5000000000, asset_id, address),
73             Action.control_address(5000000000, asset_id, address),
74             Action.control_address(5000000000, asset_id, address),
75             Action.control_address(5000000000, asset_id, address),
76             Action.control_address(5000000000, asset_id, address),
77             Action.control_address(5000000000, asset_id, address),
78             Action.control_address(5000000000, asset_id, address),
79             Action.control_address(5000000000, asset_id, address),
80             Action.control_address(5000000000, asset_id, address),
81             Action.control_address(5000000000, asset_id, address),
82             Action.control_address(5000000000, asset_id, address),
83             Action.control_address(5000000000, asset_id, address),
84             Action.control_address(5000000000, asset_id, address),
85             Action.control_address(5000000000, asset_id, address),
86             Action.control_address(5000000000, asset_id, address),
87             Action.control_address(5000000000, asset_id, address),
88             Action.control_address(5000000000, asset_id, address),
89             Action.control_address(5000000000, asset_id, address),
90             Action.control_address(5000000000, asset_id, address),
91             Action.control_address(5000000000, asset_id, address),
92             Action.control_address(5000000000, asset_id, address),
93         ]
94         print(actions)
95         issuance = Transaction.build_transaction(con, actions)
96         print("issuance:", issuance)
97         # sign transaction
98         signed_raw_transaction = Transaction.sign_transaction(con, '123456', issuance)
99         print("signed_raw_transaction:", signed_raw_transaction)
100         # submit transaction
101         tx_id = Transaction.submit_transaction(con, signed_raw_transaction)
102         print("tx_id:", tx_id)
103
104     if __name__ == '__main__':
105         unittest.main()