UNPKG

namillum

Version:
135 lines (105 loc) 4.02 kB
--- id: api-contract-get-smartcontract-substate title: GetSmartContractSubState --- --- Returns the state (or a part specified) of a smart contract address, represented in a JSON format. ### Example Request import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; <Tabs defaultValue="cURL" values={[ { label: 'cURL', value: 'cURL', }, { label: 'node.js', value: 'node.js', }, { label: 'java', value: 'java', }, { label: 'python', value: 'python', }, { label: 'go', value: 'go', }, ] }> <TabItem value="cURL"> ```shell curl -d '{ "id": "1", "jsonrpc": "2.0", "method": "GetSmartContractSubState", "params": ["fe001824823b12b58708bf24edd94d8b5e1cfcf7","admins",[]] }' -H "Content-Type: application/json" -X POST "https://api.zilliqa.com/" ``` </TabItem> <TabItem value="node.js"> ```js const smartContractState = await zilliqa.blockchain.getSmartContractSubState( "fe001824823b12b58708bf24edd94d8b5e1cfcf7" ); console.log(smartContractState.result); ``` </TabItem> <TabItem value="java"> ```java public class App { public static void main(String[] args) throws IOException { HttpProvider client = new HttpProvider("https://api.zilliqa.com"); List<Object> param = new ArrayList<>(); param.add("9611c53BE6d1b32058b2747bdeCECed7e1216793"); param.add("admins"); param.add(new ArrayList<>()); String state = client.getSmartContractSubState(param); System.out.println(state); } } ``` </TabItem> <TabItem value="python"> ```python from pyzil.zilliqa import chain chain.set_active_chain(chain.MainNet) print(chain.active_chain.api.GetSmartContractSubState("fe001824823b12b58708bf24edd94d8b5e1cfcf7","admins",[])) ``` </TabItem> <TabItem value="go"> ```go func GetSmartContractSubState() { provider := NewProvider("https://zilliqa.com") response, _ := provider.GetSmartContractSubState("9611c53BE6d1b32058b2747bdeCECed7e1216793", "admins", []interface{}{}) result, _ := json.Marshal(response) fmt.Println(string(result)) } ``` </TabItem> </Tabs> ### Example Response ```json { "admins": { "0xdfa89866ae86632b36361d53b76c1373448c28fa": { "argtypes": [], "arguments": [], "constructor": "True" } } } ``` ### HTTP Request | Chain(s) | URL(s) | | --------------------- | -------------------------------------------- | | **Zilliqa mainnet** | https://api.zilliqa.com/ | | **Developer testnet** | https://dev-api.zilliqa.com/ | | **Local testnet** | http://localhost:4201/ | | **Isolated server** | https://zilliqa-isolated-server.zilliqa.com/ | ### Arguments | Parameter | Type | Required | Description | | --------- | ------ | -------- | ---------------------------- | | `id` | string | Required | `"1"` | | `jsonrpc` | string | Required | `"2.0"` | | `method` | string | Required | `"GetSmartContractSubState"` | | `params` | array | Required | State params | ### State Params | Parameter | Type | Required | Description | | --------------- | ---------- | ------------ | --------------------------------------------------------------------- | | `Address` | string | Required | A smart contract address of 20 bytes. | | `Variable Name` | string | Can be empty | Name of the variable in the Smart Contract | | `Indices` | JSON Array | Can be empty | If the variable is of map type, you can specify an index (or indices) | The `params` is a JSON array. Example: `"params"`:`["fe001824823b12b58708bf24edd94d8b5e1cfcf7","admins",[\"0x9bfec715a6bd658fcb62b0f8cc9bfa2ade71434a\""]]` _Note: If Variable Name and Indices Array are both empty, the response would be same as GetSmartContractState_