GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Zilliqa-JavaScript-Library-Examples/node/queryState.js at master · Zilliqa/Zilliqa-JavaScript-Library-Examples Expand file tree/ Copy pathqueryState.jsMore file actions 92 lines (78 loc) · 2.99 KB / Copy pathqueryState.jsFile metadata and controls92 lines (78 loc) · 2.99 KB 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 // Copyright (C) 2018 Zilliqa // // This file is part of Zilliqa-Javascript-Library. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. /** * Demo Query State : Short example to illustrate how to get contract state from * a deployed token. */ const { Zilliqa } = require('@zilliqa-js/zilliqa'); const zilliqa = new Zilliqa('https://dev-api.zilliqa.com'); // Standard fungible token deployed on devnet const tokenContract = '5938fc8af82250ad6cf1da3bb92f4aa005cb2717'; async function test() { /** * initialising contract class. Contract class is a convenient way for you to use * repeatedly call contracts and make queries from. * * There's two types of "data" in scilla. Mutable fields (available through getState) * and immutable fields (cannot be changed once deployed, available through getInit) */ const contract = zilliqa.contracts.at(tokenContract); const allState = await contract.getState(); console.log(`Getting the entire contract state`); console.log(allState); const initState = await contract.getInit(); console.log(`Getting the contract init (immutable variables)`); console.log(initState); console.log(`\n\nGetting a particular field in the contract`); const state2 = await contract.getSubState('_balance'); console.log(state2); console.log(`\n\nGetting a particular entry in a map`); const state3 = await contract.getSubState('balances', [ '0x381f4008505e940ad7681ec3468a719060caf796', ]); console.log(state3); /** * Don't want to initialise a class as you are just making an adhoc query? Try this. */ console.log( `\n\nYou can also get state / substate directly without using the Contract class.`, ); const state4 = await zilliqa.blockchain.getSmartContractSubState( '0x5938fc8af82250ad6cf1da3bb92f4aa005cb2717', 'balances', ['0x381f4008505e940ad7681ec3468a719060caf796'], ); console.log(state4.result); console.log(`\n\nGet substate using batch api.`); const req1 = [ '5938fc8af82250ad6cf1da3bb92f4aa005cb2717', 'balances', ['0x381f4008505e940ad7681ec3468a719060caf796'], ]; const req2 = [ '5938fc8af82250ad6cf1da3bb92f4aa005cb2717', 'balances', ['0xa476fcedc061797fa2a6f80bd9e020a056904298'], ]; const state5 = await zilliqa.blockchain.getSmartContractSubStateBatch([ req1, req2, ]); const batchResult = JSON.stringify(state5.batch_result); console.log(batchResult); } test(); |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |