Home Smart Contract System Method
Post
Cancel

System Method

Getting Started

SASEUL has built-in smart contracts that is ready-to-run out of the box. In fact, even generating the genesis block of the main chain is done by one of the system smart contracts. These system contracts and requests provides developers basic interfaces on SASEUL blockchain.

System Contracts

Executing system contracts commit transactions based on the registered codes and end up with causing change of status.

Genesis

Initiate the main chain of the Saseul blockchain.

The first node of the network which started as a genesis node can execute this contract to grant network manager privileges to itself.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “Genesis”
network_address mandatory String   44

Register

Register a smart contract code to Saseul blockchain.

A network manager can execute this contract to make the given smart contarct code available on SASEUL blockchain.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “Register”
code mandatory String   65536

Revoke

Revoke network manager privileges.

A network manager can execute this contract to remove its network manager privileges.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “Revoke”

Grant

Grant network manager privileges.

If the executor is one of the network addresses of the SASEUL node, it can execute this contract to get network manager privileges.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “Grant”

Oracle

A network manager can execute this contract to generate a transaction without making status changes other than commiting the transaction to the block.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “Oracle”
code mandatory String   65536

System Requests


System requests provide methods to query data from block data and status.

GetBlock

Get main chain block information by block hash or height.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetBlock”
target optional String 78 block hash or height
full optional Boolean 5 true or false
default value : false

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
    "code": 200,
    "data": {
        "height": 35291,
        "s_timestamp": 1655968582000000,
        "previous_blockhash": "05e2183ad9d4805a3a3a407afc43c6cad280d49482269cde552926d820a281ef5364a3f45818a0",
        "blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
        "seal": {
            "dc87f8e1a2b0661fc0198c14dd8833e3d07afe6b44f7": {
                "hypothesis_hash": "cb1cef508ef9328a0e9ffaa77cb384ffbe3b2f7c049312c7e053a3deb94b080f",
                "s_timestamp": 1655968582000000,
                "public_key": "b8cc28d08ce9aa168e116b79c77ca58c0e3bc9738c393f4dbb071de118463d56",
                "signature": "45d9df99db26c278a2140b98274aedc6906068b7c8efcc0f14986065fa2730a9aa3ab38f7cec137ac25bfffd7ff78475432d876c5cf54855ec27fa28379f3d02"
            },
            "e370854bfafe91bc2a8c076d06ca34c5ce8af8f1ce92": {
                "hypothesis_hash": "cb1cef508ef9328a0e9ffaa77cb384ffbe3b2f7c049312c7e053a3deb94b080f",
                "s_timestamp": 1655968582000000,
                "public_key": "f877a00ea736c5760eb5bf1624375dd90be270bf1483826922a74b4cdb7eb27b",
                "signature": "f6dceeeb4b308f115f00788375916923afeae6c00d5b3f8d0c324656b992e164695b1cb553cc0e93d6319c7a14ffb0b97f0fdae1b85ee24998f077751a20d409"
            },
            "19dea08edb10b9c9ec4d7380ed7b57eda78cadb34659": {
                "hypothesis_hash": "cb1cef508ef9328a0e9ffaa77cb384ffbe3b2f7c049312c7e053a3deb94b080f",
                "s_timestamp": 1655968582000000,
                "public_key": "17de9280bfb37252a162387f776bdfc4349a478afc5863b8052086e2351db507",
                "signature": "bb0da7e50f0e3eb0a2af8980638cc1a16fbd31a5050d0291e2ad0d0c4657ad6c8e8c468627a5e1a0a9fa15a214ec9c512df2012802b626bfd30c2e9917e31e03"
            },
            "6e2e8385ed855734c164ed14fe38cb3ae7bc007b0f1b": {
                "hypothesis_hash": "cb1cef508ef9328a0e9ffaa77cb384ffbe3b2f7c049312c7e053a3deb94b080f",
                "s_timestamp": 1655968582000000,
                "public_key": "daa1dfc9d9320bbe5a216c388c2f37ecfea606ef031e6419502bfb9f9b2d2b6c",
                "signature": "32328ca892f3ed55374cad87bc589146fc17d2fa17742649c2c2d02e67a04a89b2f82dc6fb7afe35cdabd03d02e7c93b3f6c55f50108d6ec45b4a3dc08c81001"
            },
            "f1de3b2f1ee7119364681c632138b1aee64cfb849a62": {
                "hypothesis_hash": "cb1cef508ef9328a0e9ffaa77cb384ffbe3b2f7c049312c7e053a3deb94b080f",
                "s_timestamp": 1655968582000000,
                "public_key": "1b79f7b094f380aecf9e715bb7c84c21ede973905a5492ad26f829ee6c6f3a51",
                "signature": "bff230f5b14d6569e51aec77548020d9ce4c110f78cf51b13deb215a23b0c3af2a2c780daae58f05b1a7d0f7ffc2b6a0d6ffa859d8df22b03fa68faf20c7650d"
            }
        },
        "transactions": {
            "05e2183af527ebba4415b68e4ff5c2419f94b853793c76a3ce36b1f0c4d516be06dcf1bca6f878": {
                "transaction": {
                    "type": "Send",
                    "timestamp": 1655968579790827,
                    "from": "6c66f932ef35f232900eaffe4dc6e795d76305b703a0",
                    "to": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
                    "amount": "1564000000000"
                },
                "public_key": "75b7a3208f53f8d6ccdcb5ffd374dae350c3df89da239696ea88204d87b0a9a1",
                "signature": "86f82cab730de8a70a7030dad4728295cf549318d32334819060af02fd429efeaa04928cc0920fceb7e07b91d92bc78ec4a90724d9bb22e71401c3f2aee5f10e"
            }
        },
        "universal_updates": {
            "b3c1ed9ce9df9d2531bb6e2945f044590974408f547f3574d56075e13394770d6c66f932ef35f232900eaffe4dc6e795d76305b703a0": {
                "old": "10958923744286000000",
                "new": "10958922179872000000"
            },
            "b3c1ed9ce9df9d2531bb6e2945f044590974408f547f3574d56075e13394770d08f080b723d4f4465ba54d10ab179f2bfb89e289a02e": {
                "old": "520222813697008584188569752",
                "new": "520222813697010148188569752"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f67ed319a52601f14b1fb691b85fac19f7f468b2538f8": {
                "old": "181180282738325854369242",
                "new": "181510639881183078274003"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f8c3269f7e2b2dd4e9eab7c95249a032184e7b307104f": {
                "old": "242187500011289166651",
                "new": "510044642868497738079"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f6e2e8385ed855734c164ed14fe38cb3ae7bc007b0f1b": {
                "old": "484375000108746995223",
                "new": "752232142965955566651"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f541bb894597185f78d29de128c6c43e458926461a388": {
                "old": "44881522817614767127270",
                "new": "45211879960471991032031"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f19dea08edb10b9c9ec4d7380ed7b57eda78cadb34659": {
                "old": "484375000108746995223",
                "new": "752232142965955566651"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f0f63ef80b0d9ac01365a3e05630133cbea9c5be8f34d": {
                "old": "37732415674720229151440",
                "new": "38000272817577437722868"
            },
            "c5ca2cb405daf22453b559420907bb12d7fb34519ac55d81f47829054374512f08f080b723d4f4465ba54d10ab179f2bfb89e289a02e": {
                "old": "1481478149802187021469093",
                "new": "1481746006945044230040521"
            }
        },
        "local_updates": {
            "290eed314ce4d91c387028c290936b5b261e06f05d871bad42dfdf7436e89e9c00000000000000000000000000000000000000000000": {
                "old": "0",
                "new": "0"
            },
            "724d2935080d38850e49b74927eb0351146c9ee955731f4ef53f24366c5eb9b100000000000000000000000000000000000000000000": {
                "old": 42705,
                "new": 42706
            },
            "12194c0ef66a96758afcf4e7ddd3a0b851bba110c7dd2ffff358cbabd725b3fc00000000000000000000000000000000000000000000": {
                "old": 34384,
                "new": 34385
            }
        }
    },
    "status": "success"
}

ListBlock

Get array list of main chain block information.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “ListBlock”
height optional Int 16 block number
count optional Int 4 max value : 9999 default
value : 20
sort optional Int 2 -1 : ascending order
1 : descending order
default value : -1

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
    "code": 200,
    "data": {
        "35287": {
            "height": 35287,
            "s_timestamp": 1655957952000000,
            "previous_blockhash": "05e215c0a85080bb21fa69e66b25baa8b9ee0c2bd94134ab46ee79f1def6ce0d0eaa4e7b6f63f9",
            "blockhash": "05e215c17df0006cc4087c25a4ddca010598b63450567b7c6e1b42c0e9d0bf44708894347519ae",
            "transaction_count": 4
        },
        "35288": {
            "height": 35288,
            "s_timestamp": 1655957966000000,
            "previous_blockhash": "05e215c17df0006cc4087c25a4ddca010598b63450567b7c6e1b42c0e9d0bf44708894347519ae",
            "blockhash": "05e215c2538f8079c5cb9497ff8edac6289f20c8e3f3edc0c9fe85010717f2af9ee09a7739f799",
            "transaction_count": 8
        },
        "35289": {
            "height": 35289,
            "s_timestamp": 1655967792000000,
            "previous_blockhash": "05e215c2538f8079c5cb9497ff8edac6289f20c8e3f3edc0c9fe85010717f2af9ee09a7739f799",
            "blockhash": "05e2180c006c00ea5c3e1e2045b4dea795879cd705b8f1206bf10044e0d7d4a9b6b9408c000400",
            "transaction_count": 1640
        },
        "35290": {
            "height": 35290,
            "s_timestamp": 1655968578000000,
            "previous_blockhash": "05e2180c006c00ea5c3e1e2045b4dea795879cd705b8f1206bf10044e0d7d4a9b6b9408c000400",
            "blockhash": "05e2183ad9d4805a3a3a407afc43c6cad280d49482269cde552926d820a281ef5364a3f45818a0",
            "transaction_count": 190
        },
        "35291": {
            "height": 35291,
            "s_timestamp": 1655968582000000,
            "previous_blockhash": "05e2183ad9d4805a3a3a407afc43c6cad280d49482269cde552926d820a281ef5364a3f45818a0",
            "blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
            "transaction_count": 1
        }
    },
    "status": "success"
}

BlockCount

Get total count of the main chain blocks.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “BlockCount”
target optional String 78 block hash or height
full optional Boolean 5 true or false
default value : false

Return value

1
2
3
4
5
{
    "code": 200,
    "data": 35291,
    "status": "success"
}

GetTransaction

Get transaction information by transaction hash.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetTransaction”
target optional String 78 transaction hash

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    "code": 200,
    "data": {
        "transaction": {
            "type": "Send",
            "timestamp": 1655968579790827,
            "from": "6c66f932ef35f232900eaffe4dc6e795d76305b703a0",
            "to": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "amount": "1564000000000"
        },
        "public_key": "75b7a3208f53f8d6ccdcb5ffd374dae350c3df89da239696ea88204d87b0a9a1",
        "signature": "86f82cab730de8a70a7030dad4728295cf549318d32334819060af02fd429efeaa04928cc0920fceb7e07b91d92bc78ec4a90724d9bb22e71401c3f2aee5f10e"
    },
    "status": "success"
}

ListTransaction

Get array list of transaction information.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “ListTransaction”
address optional String 44  
page optional Int 16 Page Number of the list.
default value : 1
count mandatory Int 4 Number of lists to be
displayed on a page.
0 < count ≤ 1000

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
    "code": 200,
    "data": {
        "05e2183af527ebba4415b68e4ff5c2419f94b853793c76a3ce36b1f0c4d516be06dcf1bca6f878": {
            "transaction": {
                "type": "Send",
                "timestamp": 1655968579790827,
                "from": "6c66f932ef35f232900eaffe4dc6e795d76305b703a0",
                "to": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
                "amount": "1564000000000"
            },
            "public_key": "75b7a3208f53f8d6ccdcb5ffd374dae350c3df89da239696ea88204d87b0a9a1",
            "signature": "86f82cab730de8a70a7030dad4728295cf549318d32334819060af02fd429efeaa04928cc0920fceb7e07b91d92bc78ec4a90724d9bb22e71401c3f2aee5f10e"
        },
        "05e2183a931710b7dfdfd40407bfd07249d70cd342492d5e94afa338aec228845b35d531a742ac": {
            "transaction": {
                "type": "Send",
                "timestamp": 1655968573363984,
                "from": "6c66f932ef35f232900eaffe4dc6e795d76305b703a0",
                "to": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
                "amount": "4428000000000"
            },
            "public_key": "75b7a3208f53f8d6ccdcb5ffd374dae350c3df89da239696ea88204d87b0a9a1",
            "signature": "93047b98c514419e9122962e9e10032808cd1cc2c2d2744391bf25e6ac6977828537dd7fb2bd36fe6fddd1ab472b5518a6de9fbbc1ead2e75d4f1502f4d6860b"
        },
        "05e2183a5c3c91d0f93a2f85174eb54ff1e79b2158dcec7c9379192f919a36a3daf95e604d6785": {
            "transaction": {
                "type": "Send",
                "timestamp": 1655968569769105,
                "from": "6c66f932ef35f232900eaffe4dc6e795d76305b703a0",
                "to": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
                "amount": "6168000000000"
            },
            "public_key": "75b7a3208f53f8d6ccdcb5ffd374dae350c3df89da239696ea88204d87b0a9a1",
            "signature": "41d0de58cfaeb1f5c1703310e152a1ca9ef931ad3d1b8b27254851922fc4316249f1ad3b6cf6ca304e2b3ce1dc578bdc3a2fc50c4bfee1d54d6b7fd8fbd33200"
        }
    },
    "status": "success"
}

TransactionCount

Get total count of transactions.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “TransactionCount”

Return value

1
2
3
4
5
{
    "code": 200,
    "data": 3,
    "status": "success"
}

GetCode

Get registered code of a request or contract by contract index hash.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetCode”
ctype optional String 10 selected value : contract, request
default value : contract
target optional String 64 hash

Return value

1
2
3
4
5
6
7
{
    "code": 200,
    "data": {
        "58c33e328b93af6d245c3ceb97bc97adcb859f7b4ffc8bade99b184713696d7840aba7d1d362d2c16eea2e4a73e1d9d7976e729c1db4": "{\"type\":\"contract\",\"name\":\"Send\",\"version\":\"3\",\"nonce\":\"8c85a6569fe901d3a4b08b9b2c85a57b00f490c3ac1feeb3e19782ca80370349\",\"writer\":\"00000000000000000000000000000000000000000000\",\"parameters\":{\"to\":{\"name\":\"to\",\"type\":\"string\",\"maxlength\":44,\"requirements\":true,\"default\":null,\"cases\":null},\"amount\":{\"name\":\"amount\",\"type\":\"string\",\"maxlength\":40,\"requirements\":true,\"default\":0,\"cases\":null}},\"conditions\":[[{\"$gte\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$add\":[{\"$load_param\":[\"amount\"]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]}]},\"You can't send more than what you have. \"],[{\"$gte\":[{\"$load_param\":[\"amount\"]},\"0\"]},\"Amount must exceed zero. \"]],\"updates\":[{\"$write_universal\":[\"balance\",{\"$load_param\":[\"from\"]},{\"$sub\":[{\"$sub\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]}]},{\"$write_universal\":[\"balance\",{\"$load_param\":[\"to\"]},{\"$add\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"to\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]}]},{\"$write_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",{\"$add\":[{\"$read_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$precise_div\":[{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]}]}]}"
    },
    "status": "success"
}

ListCode

Get array list of registered contracts and requests.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “ListCode”
page optional Int 16 Page Number of the list.
default value : 1
count mandatory Int 4 Number of lists to be displayed on a page.
0 < count ≤ 100

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "code": 200,
    "data": {
        "contracts": {
            "286d8ee736e26e667ba9e3d52219392cae73761ed239": "{\"type\":\"contract\",\"name\":\"Refine\",\"version\":\"2\",\"nonce\":\"8c85a6569fe901d3a4b08b9b2c85a57b00f490c3ac1feeb3e19782ca80370349\",\"writer\":\"00000000000000000000000000000000000000000000\",\"parameters\":{\"amount\":{\"name\":\"amount\",\"type\":\"string\",\"maxlength\":40,\"requirements\":true,\"default\":0,\"cases\":null}},\"conditions\":[[{\"$gt\":[{\"$load_param\":[\"amount\"]},\"0\"]},\"The amount to be refined must be greater than zero. \"],[{\"$eq\":[{\"$scale\":[{\"$load_param\":[\"amount\"]}]},\"0\"]},\"The amount to be refined must be an integer. \"],[{\"$gte\":[{\"$read_universal\":[\"resource\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]},\"The amount to be refined must be greater than or equal to the amount of resources you have. \"],[{\"$gt\":[{\"$precise_mul\":[{\"$load_param\":[\"amount\"]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]},\"0\"]},\"The refined amount must be greater than zero. \"],[{\"$gt\":[{\"$precise_mul\":[{\"$load_param\":[\"amount\"]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]},\"The refined amount must be greater than the fee. \"]],\"updates\":[{\"$write_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",{\"$add\":[{\"$read_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$precise_div\":[{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]}]},{\"$write_universal\":[\"reduction_limit\",\"00000000000000000000000000000000000000000000\",{\"$if\":[{\"$gt\":[{\"$read_universal\":[\"season_supply\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$read_universal\":[\"reduction_limit\",\"00000000000000000000000000000000000000000000\",\"1000000000000000000000000000\"]}]},{\"$precise_mul\":[\"1000000000000000000000000000\",{\"$if\":[{\"$lt\":[{\"$precise_mul\":[{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},\"0.84375\",10]},\"0.0000001\"]},\"0.0000001\",{\"$precise_mul\":[{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},\"0.84375\",10]}]},0]},{\"$read_universal\":[\"reduction_limit\",\"00000000000000000000000000000000000000000000\",\"1000000000000000000000000000\"]}]}]},{\"$write_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",{\"$if\":[{\"$gt\":[{\"$read_universal\":[\"season_supply\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$read_universal\":[\"reduction_limit\",\"00000000000000000000000000000000000000000000\",\"1000000000000000000000000000\"]}]},{\"$if\":[{\"$lt\":[{\"$precise_mul\":[{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},\"0.84375\",10]},\"0.0000001\"]},\"0.0000001\",{\"$precise_mul\":[{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},\"0.84375\",10]}]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]}]}]},{\"$write_universal\":[\"total_supply\",\"00000000000000000000000000000000000000000000\",{\"$add\":[{\"$read_universal\":[\"total_supply\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$precise_mul\":[{\"$load_param\":[\"amount\"]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]}]},{\"$write_universal\":[\"season_supply\",\"00000000000000000000000000000000000000000000\",{\"$if\":[{\"$gt\":[{\"$read_universal\":[\"season_supply\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$read_universal\":[\"reduction_limit\",\"00000000000000000000000000000000000000000000\",\"1000000000000000000000000000\"]}]},\"0\",{\"$add\":[{\"$read_universal\":[\"season_supply\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$precise_mul\":[{\"$load_param\":[\"amount\"]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]}]}]},{\"$write_universal\":[\"resource\",{\"$load_param\":[\"from\"]},{\"$sub\":[{\"$read_universal\":[\"resource\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]}]},{\"$write_universal\":[\"balance\",{\"$load_param\":[\"from\"]},{\"$sub\":[{\"$add\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$precise_mul\":[{\"$load_param\":[\"amount\"]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]}]}]}",
            "40aba7d1d362d2c16eea2e4a73e1d9d7976e729c1db4": "{\"type\":\"contract\",\"name\":\"Send\",\"version\":\"3\",\"nonce\":\"8c85a6569fe901d3a4b08b9b2c85a57b00f490c3ac1feeb3e19782ca80370349\",\"writer\":\"00000000000000000000000000000000000000000000\",\"parameters\":{\"to\":{\"name\":\"to\",\"type\":\"string\",\"maxlength\":44,\"requirements\":true,\"default\":null,\"cases\":null},\"amount\":{\"name\":\"amount\",\"type\":\"string\",\"maxlength\":40,\"requirements\":true,\"default\":0,\"cases\":null}},\"conditions\":[[{\"$gte\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$add\":[{\"$load_param\":[\"amount\"]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]}]},\"You can't send more than what you have. \"],[{\"$gte\":[{\"$load_param\":[\"amount\"]},\"0\"]},\"Amount must exceed zero. \"]],\"updates\":[{\"$write_universal\":[\"balance\",{\"$load_param\":[\"from\"]},{\"$sub\":[{\"$sub\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"from\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]},{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]}]}]},{\"$write_universal\":[\"balance\",{\"$load_param\":[\"to\"]},{\"$add\":[{\"$read_universal\":[\"balance\",{\"$load_param\":[\"to\"]},\"0\"]},{\"$load_param\":[\"amount\"]}]}]},{\"$write_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",{\"$add\":[{\"$read_local\":[\"recycle_resource\",\"00000000000000000000000000000000000000000000\",\"0\"]},{\"$precise_div\":[{\"$precise_mul\":[{\"$load_param\":[\"size\"]},\"1000000\",0]},{\"$read_universal\":[\"multiplier\",\"00000000000000000000000000000000000000000000\",\"1\"]},0]}]}]}]}",
            "e2fefa12710be137ad08dae8c7524156b75f564be193": "{\"type\":\"contract\",\"name\":\"HotFix\",\"version\":\"2\",\"nonce\":\"8c85a6569fe901d3a4b08b9b2c85a57b00f490c3ac1feeb3e19782ca80370349\",\"writer\":\"00000000000000000000000000000000000000000000\",\"parameters\":[],\"conditions\":[[false,\"It's closed contract. \"]],\"updates\":[]}"
        },
        "requests": {
            "ba3eb999c80e61657ef1a4dd27359a23d9bbb94d610a": "{\"type\":\"request\",\"name\":\"GetBalance\",\"version\":\"1\",\"nonce\":\"8c85a6569fe901d3a4b08b9b2c85a57b00f490c3ac1feeb3e19782ca80370349\",\"writer\":\"00000000000000000000000000000000000000000000\",\"parameters\":{\"address\":{\"name\":\"address\",\"type\":\"string\",\"maxlength\":44,\"requirements\":true,\"default\":\"\",\"cases\":null}},\"conditions\":[],\"response\":{\"balance\":{\"$read_universal\":[\"balance\",{\"$load_param\":[\"address\"]},\"0\"]}}}"
        }
    },
    "status": "success"
}

CodeCount

Get total count of registered contracts and requests.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “CodeCount”

Return value

1
2
3
4
5
6
7
8
{
    "code": 200,
    "data": {
        "contracts": 3,
        "requests": 1
    },
    "status": "success"
}

GetResourceBlock

Get resource chain block information by block hash or height.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetResourceBlock”
target optional String 78 block hash
full optional Boolean 5 true or false

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
    "code": 200,
    "data": {
        "height": 59924,
        "blockhash": "05e266f5d3ac1b481cc28ee3003aad8d1bbc934bd48cd059f7e435ec3d1b2950d6539a4d0b0082",
        "previous_blockhash": "05e266e79d0d37b8d590d23ee771b4783d1836c19fbe1b33f53e265e9af6060971280e072cd71a",
        "nonce": "81fdb4ae3c632837f5f938a0d4f450c33a20f5cfbe4465c6d50a66fd86dc9294",
        "timestamp": 1656306722384923,
        "difficulty": "3572657",
        "main_height": 35291,
        "main_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
        "validator": "99c4d1da4e77342610f2d37750b1e2ef8b528cffd67a",
        "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
        "receipts": {
            "99c4d1da4e77342610f2d37750b1e2ef8b528cffd67a": {
                "previous_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
                "receipt_hash": "7250c5e4ac8f5c0e027cf2a46b035a1e6513281231a5b598c9ed1de03028f994",
                "beneficiary": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
                "signed_query": {
                    "query": {
                        "previous_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
                        "address": "02a3d46dfd8c773763cb26e55a2afd4e8f2f0abba87b"
                    },
                    "public_key": "8c55a0448fccf2133b2765e384db68fd23d89cfed1dfa70f621ec98afb349d3e",
                    "signature": "5c0f1b933a08d6c999b80b8f58fc8d28e86e8bc15479d7e55f4c3cd4d9dd222ec789ffd6dbfa1a84265dc39b1e4d82025b2fd46c463b663490f01a317c5eaa05"
                },
                "public_key": "b5c6e8ddc1f6c0b5b0b98d9e3d344dcbaf31a0a861ce65914956a97541b6c218",
                "signature": "ea3fff61d0ff4de1a086757fde54305ee9871f02228f3fff15b7caef430790db86be64e16823aeedc699ffce9fd0f5a80236a6d3b0359d98f8148ff56315ac02"
            }
        }
    },
    "status": "success"
}

ListResourceBlock

Get array list of resource chain block information.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “ListResourceBlock”
page optional Int 16 Page Number of the list.
default value : 1
count mandatory Int 4 Number of lists to be displayed on a page.
0 < count ≤ 100

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
    "code": 200,
    "data": [
        {
            "height": 59996,
            "blockhash": "05e27648ba87c05ccad864ee21cec6916a29a393e2b6c1050a509f57f55802e6352799da1b6699",
            "previous_blockhash": "05e2764421f1bc832b995b4f88940ee52b16a23386d598eaaf608504b28bbd503c23d24b9237f6",
            "nonce": "706117f586a65f42f81a049a130dc1fc4027f11297aab7162dd8404edf747aad",
            "timestamp": 1656372537755584,
            "difficulty": "3572657",
            "main_height": 35291,
            "main_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
            "validator": "99c4d1da4e77342610f2d37750b1e2ef8b528cffd67a",
            "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "receipt_count": 1
        },
        {
            "height": 59995,
            "blockhash": "05e2764421f1bc832b995b4f88940ee52b16a23386d598eaaf608504b28bbd503c23d24b9237f6",
            "previous_blockhash": "05e275a2f19c33e5abea6d0f3b16d9d7c5310828b44cf61323e67665de4bb2faea2b443f7f5d7c",
            "nonce": "8e1f34aceef5005e3648533d9836a86afa54d77d5ec0f1e2df8b0e0399c73f89",
            "timestamp": 1656372460646844,
            "difficulty": "3572657",
            "main_height": 35291,
            "main_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
            "validator": "99c4d1da4e77342610f2d37750b1e2ef8b528cffd67a",
            "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "receipt_count": 1
        },
        {
            "height": 59994,
            "blockhash": "05e275a2f19c33e5abea6d0f3b16d9d7c5310828b44cf61323e67665de4bb2faea2b443f7f5d7c",
            "previous_blockhash": "05e27586782397ed9e22d95d7310435499539b76f2442610ee6415d81d22bf456e229f9de7e8e4",
            "nonce": "799fe766713394b2ad6306144c3cbb7880490645d671236246017748747acace",
            "timestamp": 1656369756347443,
            "difficulty": "3572657",
            "main_height": 35291,
            "main_blockhash": "05e2183b16dd808135543a804a013a3a32ac4d00e5bdfa2b5cc7f822b586263b78d678e5b136a5",
            "validator": "99c4d1da4e77342610f2d37750b1e2ef8b528cffd67a",
            "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "receipt_count": 1
        }
    ],
    "status": "success"
}

ResourceBlockCount

Get total count of the resource chain blocks.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “ResourceBlockCount”

Return value

1
2
3
4
5
{
    "code": 200,
    "data": 59996,
    "status": "success"
}

GetBlocks

Get array list of maximum 256 main blocks searched from the given block height.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetBlocks”
target optional Int 16 block height
full optional Boolean 5 true or false

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    "code": 200,
    "data": {
        "254": {
            "height": 254,
            "s_timestamp": 1653447300000000,
            "previous_blockhash": "05dfcd32e966c06af572000cdb93d8c7e8ae94583edc218fe6923f17400b24c785a7ce09001894",
            "blockhash": "05dfcd32f8a900e05ee2b1a1627da4ad26419490852d4bc026194997bede7acb720fc8cb716129",
            "transaction_count": 1
        },
        "255": {
            "height": 255,
            "s_timestamp": 1653447301000000,
            "previous_blockhash": "05dfcd32f8a900e05ee2b1a1627da4ad26419490852d4bc026194997bede7acb720fc8cb716129",
            "blockhash": "05dfcd3307eb40224075f3d18060336b6cd6481fa6e39b5d3e6f949622480ec0a7e7e61160a25e",
            "transaction_count": 0
        },
        ...
        "508": {
            "height": 508,
            "s_timestamp": 1653874900000000,
            "previous_blockhash": "05e030c19e91c0afa2a3b7ca151de55ecbea4a8fde69a439be8698a040668082bebe18068ca91f",
            "blockhash": "05e030c1eadd003b8f9c74f16717a9518165ccfa4c76162405d7d3aaf3382a541142d179e8b2eb",
            "transaction_count": 1
        },
        "509": {
            "height": 509,
            "s_timestamp": 1653874905000000,
            "previous_blockhash": "05e030c1eadd003b8f9c74f16717a9518165ccfa4c76162405d7d3aaf3382a541142d179e8b2eb",
            "blockhash": "05e030c23728400fb4e72cd1673a529efee01c177e9fb5f528c826018b4f6a0fbd65521e3dbc68",
            "transaction_count": 1
        }
    },
    "status": "success"
}

GetResourceBlocks

Get array list of maximum 256 resource blocks searched from the given block height.

Request Parameter

Parameter Requirements Type Maxlength Description
type mandatory String   “GetResourceBlocks”
target optional Int 16 resource block height
full optional Boolean 5 true or false

Return value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
    "code": 200,
    "data": {
        "1": {
            "height": 1,
            "blockhash": "05df2666f2d45cb827a20f6fefd90cf582f53f06ba12b7962a73bb8b1b540e0c1a6f98fa44481e",
            "previous_blockhash": "",
            "nonce": "b096072cf64cff892e3f9b06b33cd7dbfa3d85332b5a95e69cb69a6c0c8f995b",
            "timestamp": 1652730912494684,
            "difficulty": "100000",
            "main_height": 3,
            "main_blockhash": "05df2656a5a1c0fb1f4a26a83fa52f1fdf1e11baa092beef822eb7c92993fd5f07830d66e09cfd",
            "validator": "c63e540b26715f490d763338f1b3f1f60990935f0837",
            "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "receipt_count": 0
        },
        "2": {
            "height": 2,
            "blockhash": "05df2784a864b12edec184c498d9358a73d5fa5ccea10875f6b395065665cd2f7ddbba0af000a4",
            "previous_blockhash": "05df2666f2d45cb827a20f6fefd90cf582f53f06ba12b7962a73bb8b1b540e0c1a6f98fa44481e",
            "nonce": "571bb5ac65d624ed4b5c92f31f529ddeb06564316b658f77c843fe02f4b0e726",
            "timestamp": 1652735705900209,
            "difficulty": "100000",
            "main_height": 5,
            "main_blockhash": "05df268b74eb40d8100e7f7a5e03ed76bf0564eaeb995925490e8cbb4a48af7caeab24b7c36ca8",
            "validator": "c63e540b26715f490d763338f1b3f1f60990935f0837",
            "miner": "08f080b723d4f4465ba54d10ab179f2bfb89e289a02e",
            "receipt_count": 1
        },
        ...
        "255": {
            "height": 255,
            "blockhash": "05df29200a984454391fdc729b135d8e3e095b025a095abe391d50a7f0e876b7f8098b5bf32920",
            "previous_blockhash": "05df291ef72f0e8b41b3e73f27016613507c8e94150b0f3d7cc4b201bb43124b309fa589928bae",
            "nonce": "b181defe5470d4445e7000fff644c49a500b23ed8f142b6eed63c94429b2b34d",
            "timestamp": 1652742607771716,
            "difficulty": "100000",
            "main_height": 8,
            "main_blockhash": "05df28657e1180a3f58b72ce9a49d65ce4f483cfa8074df74274a7c7b07519a6c83e2ebd42d837",
            "validator": "b4ad2245a4e4470ab0db12fcd3eee37f00d3df69c817",
            "miner": "b4ad2245a4e4470ab0db12fcd3eee37f00d3df69c817",
            "receipt_count": 1
        },
        "256": {
            "height": 256,
            "blockhash": "05df29203c5fd96e002118b5acf06e53214235c70410ba344d8013539387ab147d7b9300c8d854",
            "previous_blockhash": "05df29200a984454391fdc729b135d8e3e095b025a095abe391d50a7f0e876b7f8098b5bf32920",
            "nonce": "08daac3fa1cc32c8013937a182684b059d2323ede49d01eecc61252f15753c03",
            "timestamp": 1652742611034073,
            "difficulty": "100000",
            "main_height": 8,
            "main_blockhash": "05df28657e1180a3f58b72ce9a49d65ce4f483cfa8074df74274a7c7b07519a6c83e2ebd42d837",
            "validator": "b4ad2245a4e4470ab0db12fcd3eee37f00d3df69c817",
            "miner": "b4ad2245a4e4470ab0db12fcd3eee37f00d3df69c817",
            "receipt_count": 0
        }
    },
    "status": "success"
}

GetResource

Get resource amount of the given address.

Request Parameters

Parameter Requirements Type Maxlength Description
type mandatory String   “GetResource”
address mandatory String 44 address where the resource is stored

Return value

1
2
3
4
5
6
7
{
    "code": 200,
    "data": {
    "resource": "0"
    },
    "status": "success"
}
This post is licensed under CC BY 4.0 by the author.