muerwre.github.io/api/_content/query/WO7KYRkFiw.json
muerwre 63ad1573e1 commit 623fa7b7fd
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Thu Nov 10 16:21:06 2022 +0600

    made contacts page
2022-11-10 10:23:07 +00:00

1 line
No EOL
144 KiB
JSON

{"_path":"/blockchain/smart-contracts","_dir":"blockchain","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Smart Contracts","description":"For common functions see Common typescript examples.","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For common functions see "},{"type":"element","tag":"a","props":{"href":"Common%20typescript%20examples"},"children":[{"type":"text","value":"Common typescript examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"getting-smart-contract-instance"},"children":[{"type":"text","value":"Getting smart contract instance"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful for calling smart contract methods:"}]},{"type":"element","tag":"code","props":{"code":"import { Contract } from 'web3-eth-contract';\nimport { web3 } from '.';\n\nconst getContract = (abi: object, address?: string): Contract => {\n const abiFromJson = JSON.parse(JSON.stringify(abi));\n return new web3.eth.Contract(abiFromJson, address);\n};\n\nexport default getContract;\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { Contract } from 'web3-eth-contract';\nimport { web3 } from '.';\n\nconst getContract = (abi: object, address?: string): Contract => {\n const abiFromJson = JSON.parse(JSON.stringify(abi));\n return new web3.eth.Contract(abiFromJson, address);\n};\n\nexport default getContract;\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"executing-contract-method"},"children":[{"type":"text","value":"Executing contract method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Contract has "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"read"}]},{"type":"text","value":" and "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"write"}]},{"type":"text","value":" methods. To get a list of methods, you can paste contract address on "},{"type":"element","tag":"a","props":{"href":"https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract","rel":["nofollow"]},"children":[{"type":"text","value":"https://etherscan.io/ ETH"}]},{"type":"text","value":" or any other service."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Read"}]},{"type":"text","value":" methods doesn't require spending "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"gas"}]},{"type":"text","value":". "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Write"}]},{"type":"text","value":" methods cost some amount of "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"gas"}]},{"type":"text","value":", hence they will be executed with confirmation from user."}]},{"type":"element","tag":"h3","props":{"id":"example-for-metamask-without-private-key"},"children":[{"type":"text","value":"Example for #Metamask without private key"}]},{"type":"element","tag":"code","props":{"code":"// see example below\nimport { getContract } from '.';\n\n// ABI of contract\nconst CONTRACT_ABI = { /* ... */ };\n // address for contract\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n\nexport const executeContractMethod = async ({}) => {\n // getting contract\n const contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n \n // Calling write method\n try {\n // authorizing with Metamask\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n // getting wallet address\n const addressUser = web3.currentProvider.selectedAddress;\n // calling \"store\" store method for contract\n // payload should include `from` address, that matches\n // current user's wallet\n await contract.methods.store(0, 'Parameter').send({\n from: addressUser,\n });\n } catch (e) {\n throw new Error(e);\n }\n \n // calling read method\n try {\n // this method can return data\n const result = await contract.methods.retrieve().call();\n } catch (e) {\n throw new Error(e);\n }\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"// see example below\nimport { getContract } from '.';\n\n// ABI of contract\nconst CONTRACT_ABI = { /* ... */ };\n // address for contract\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n\nexport const executeContractMethod = async ({}) => {\n // getting contract\n const contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n \n // Calling write method\n try {\n // authorizing with Metamask\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n // getting wallet address\n const addressUser = web3.currentProvider.selectedAddress;\n // calling \"store\" store method for contract\n // payload should include `from` address, that matches\n // current user's wallet\n await contract.methods.store(0, 'Parameter').send({\n from: addressUser,\n });\n } catch (e) {\n throw new Error(e);\n }\n \n // calling read method\n try {\n // this method can return data\n const result = await contract.methods.retrieve().call();\n } catch (e) {\n throw new Error(e);\n }\n}\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"nodejs-and-react-native-example"},"children":[{"type":"text","value":"Node.js and React Native example"}]},{"type":"element","tag":"code","props":{"code":"// see example below\nimport { getContract } from '.';\n\n// ABI контракта\nconst CONTRACT_ABI = { /* ... */ };\n// contract address\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n// getting contract\nconst contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n// account's private key\nconst privateKey = '...';\n\n// write-methods requires private key\nconst executeContractMethod = async (val: number) => {\n const transaction = contract.methods.store(val);\n const account = web3.eth.accounts.privateKeyToAccount(privateKey);\n const options = {\n to: CONTRACT_ADDRESS,\n data: transaction.encodeABI(),\n gas: await transaction.estimateGas({ from: account.address }),\n gasPrice: await web3.eth.getGasPrice(),\n };\n const signed = await web3.eth.accounts.signTransaction(\n options,\n privateKey,\n );\n await web3.eth.sendSignedTransaction(signed.rawTransaction!);\n};\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"// see example below\nimport { getContract } from '.';\n\n// ABI контракта\nconst CONTRACT_ABI = { /* ... */ };\n// contract address\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n// getting contract\nconst contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n// account's private key\nconst privateKey = '...';\n\n// write-methods requires private key\nconst executeContractMethod = async (val: number) => {\n const transaction = contract.methods.store(val);\n const account = web3.eth.accounts.privateKeyToAccount(privateKey);\n const options = {\n to: CONTRACT_ADDRESS,\n data: transaction.encodeABI(),\n gas: await transaction.estimateGas({ from: account.address }),\n gasPrice: await web3.eth.getGasPrice(),\n };\n const signed = await web3.eth.accounts.signTransaction(\n options,\n privateKey,\n );\n await web3.eth.sendSignedTransaction(signed.rawTransaction!);\n};\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"calling-a-batch-of-contracts-methods"},"children":[{"type":"text","value":"Calling a batch of contract's methods"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Function calls batch of requests, returning array of results. For example:"}]},{"type":"element","tag":"code","props":{"code":" const requests = [\n contract.method.balanceOf().call,\n contract.method.getStaked().call\n ]\n\n const result = await makeBatchRequest(request);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" const requests = [\n contract.method.balanceOf().call,\n contract.method.getStaked().call\n ]\n\n const result = await makeBatchRequest(request);\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n\nconst makeBatchRequest = (calls: any[]) => {\n try {\n const web3 = getWeb3NoAccount();\n const batch = new web3.BatchRequest();\n\n const promises = calls.map((call) => {\n return new Promise((resolve, reject) => {\n batch.add(\n call.request({}, (err, result) => {\n if (err) {\n reject(err);\n } else {\n resolve(result);\n }\n })\n );\n });\n });\n\n batch.execute();\n\n return Promise.all(promises);\n } catch {\n return null;\n }\n};\n\nexport default makeBatchRequest;\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n\nconst makeBatchRequest = (calls: any[]) => {\n try {\n const web3 = getWeb3NoAccount();\n const batch = new web3.BatchRequest();\n\n const promises = calls.map((call) => {\n return new Promise((resolve, reject) => {\n batch.add(\n call.request({}, (err, result) => {\n if (err) {\n reject(err);\n } else {\n resolve(result);\n }\n })\n );\n });\n });\n\n batch.execute();\n\n return Promise.all(promises);\n } catch {\n return null;\n }\n};\n\nexport default makeBatchRequest;\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"subscribing-to-smart-contract-events"},"children":[{"type":"text","value":"Subscribing to smart contract events"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"There're different ways to subscribe for contract events. For all of them you will need following variables:"}]},{"type":"element","tag":"code","props":{"code":" import Web3 from 'web3';\n const web3 = new Web3('YOUR_RPC_ENDPOINT_HERE');\n const ABI = 'YOUR ABI HERE';\n const CONTRACT_ADDRESS = 'YOUR CONTRACT ADDRESS HERE';\n const myContract = new Web3.Contract(ABI, CONTRACT_ADDRESS);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" import Web3 from 'web3';\n const web3 = new Web3('YOUR_RPC_ENDPOINT_HERE');\n const ABI = 'YOUR ABI HERE';\n const CONTRACT_ADDRESS = 'YOUR CONTRACT ADDRESS HERE';\n const myContract = new Web3.Contract(ABI, CONTRACT_ADDRESS);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"by-accessing-contractevents"},"children":[{"type":"text","value":"By accessing contract.events"}]},{"type":"element","tag":"code","props":{"code":"referralProgramContract.events\n .RegisterUser()\n .on('connected', (subscriptionId: string) => {\n console.log(`| UserRegistered | events | ${subscriptionId}`);\n })\n .on(\n 'data',\n async (event: {\n removed: boolean;\n returnValues: RegisterUserResponseInterface;\n }) => {\n try {\n if (event.removed) {\n return;\n }\n const { user, referrer } = event.returnValues;\n console.log(user, referrer);\n } catch (e) {\n console.log(`| ONCE | ${e}`);\n }\n },\n )\n .on('error', (error: ErrnoException) => {\n console.log(error);\n });\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"referralProgramContract.events\n .RegisterUser()\n .on('connected', (subscriptionId: string) => {\n console.log(`| UserRegistered | events | ${subscriptionId}`);\n })\n .on(\n 'data',\n async (event: {\n removed: boolean;\n returnValues: RegisterUserResponseInterface;\n }) => {\n try {\n if (event.removed) {\n return;\n }\n const { user, referrer } = event.returnValues;\n console.log(user, referrer);\n } catch (e) {\n console.log(`| ONCE | ${e}`);\n }\n },\n )\n .on('error', (error: ErrnoException) => {\n console.log(error);\n });\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"with-filtering"},"children":[{"type":"text","value":"With filtering"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We're listening to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Transfer"}]},{"type":"text","value":" event here:"}]},{"type":"element","tag":"code","props":{"code":" let options = {\n filter: {\n value: [],\n },\n fromBlock: 0\n };\n\n myContract.events.Transfer(options)\n .on('data', event => console.log(event))\n .on('changed', changed => console.log(changed))\n .on('error', err => throw err)\n .on('connected', str => console.log(str))\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" let options = {\n filter: {\n value: [],\n },\n fromBlock: 0\n };\n\n myContract.events.Transfer(options)\n .on('data', event => console.log(event))\n .on('changed', changed => console.log(changed))\n .on('error', err => throw err)\n .on('connected', str => console.log(str))\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"common-subscribe-method"},"children":[{"type":"text","value":"Common Subscribe method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Filtering options can also be specified:"}]},{"type":"element","tag":"code","props":{"code":" let options = {\n fromBlock: 0,\n address: ['address-1', 'address-2'], //Only get events from specific addresses\n topics: [] //What topics to subscribe to\n };\n\n let subscription = ('logs', options, (err,event) => {\n if (!err)\n console.log(event)\n });\n\n subscription.on('data', event => console.log(event))\n subscription.on('changed', changed => console.log(changed))\n subscription.on('error', err => { throw err })\n subscription.on('connected', nr => console.log(nr))\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" let options = {\n fromBlock: 0,\n address: ['address-1', 'address-2'], //Only get events from specific addresses\n topics: [] //What topics to subscribe to\n };\n\n let subscription = ('logs', options, (err,event) => {\n if (!err)\n console.log(event)\n });\n\n subscription.on('data', event => console.log(event))\n subscription.on('changed', changed => console.log(changed))\n subscription.on('error', err => { throw err })\n subscription.on('connected', nr => console.log(nr))\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"getting-event-history"},"children":[{"type":"text","value":"Getting event history"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Getting history for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Transfer"}]},{"type":"text","value":" events for specific values. More info can be found "},{"type":"element","tag":"a","props":{"href":"https://web3js.readthedocs.io/en/v1.2.11/web3-eth-subscribe.html#","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"code","props":{"code":" //example options(optional)\n let options = {\n filter: {\n // only get events where transfer value was 1000 or 1337\n value: ['1000', '1337'] \n },\n // number | \"earliest\" | \"pending\" | \"latest\"\n fromBlock: 0, \n toBlock: 'latest'\n };\n\n myContract.getPastEvents('Transfer', options)\n .then(results => console.log(results))\n .catch(err => throw err);\n\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" //example options(optional)\n let options = {\n filter: {\n // only get events where transfer value was 1000 or 1337\n value: ['1000', '1337'] \n },\n // number | \"earliest\" | \"pending\" | \"latest\"\n fromBlock: 0, \n toBlock: 'latest'\n };\n\n myContract.getPastEvents('Transfer', options)\n .then(results => console.log(results))\n .catch(err => throw err);\n\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For common functions see "},{"type":"element","tag":"a","props":{"href":"Common%20typescript%20examples"},"children":[{"type":"text","value":"Common typescript examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"getting-smart-contract-instance"},"children":[{"type":"text","value":"Getting smart contract instance"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful for calling smart contract methods:"}]},{"type":"element","tag":"code","props":{"code":"import { Contract } from 'web3-eth-contract';\nimport { web3 } from '.';\n\nconst getContract = (abi: object, address?: string): Contract => {\n const abiFromJson = JSON.parse(JSON.stringify(abi));\n return new web3.eth.Contract(abiFromJson, address);\n};\n\nexport default getContract;\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"Contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'web3-eth-contract'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a0c099"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"abi"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1242fb"},"children":[{"type":"text","value":"abiFromJson"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5d5457"},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-1242fb"},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"Contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"abiFromJson"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"};"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-5e972e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-5e972e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"executing-contract-method"},"children":[{"type":"text","value":"Executing contract method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Contract has "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"read"}]},{"type":"text","value":" and "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"write"}]},{"type":"text","value":" methods. To get a list of methods, you can paste contract address on "},{"type":"element","tag":"a","props":{"href":"https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract","rel":["nofollow"]},"children":[{"type":"text","value":"https://etherscan.io/ ETH"}]},{"type":"text","value":" or any other service."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Read"}]},{"type":"text","value":" methods doesn't require spending "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"gas"}]},{"type":"text","value":". "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Write"}]},{"type":"text","value":" methods cost some amount of "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"gas"}]},{"type":"text","value":", hence they will be executed with confirmation from user."}]},{"type":"element","tag":"h3","props":{"id":"example-for-metamask-without-private-key"},"children":[{"type":"text","value":"Example for #Metamask without private key"}]},{"type":"element","tag":"code","props":{"code":"// see example below\nimport { getContract } from '.';\n\n// ABI of contract\nconst CONTRACT_ABI = { /* ... */ };\n // address for contract\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n\nexport const executeContractMethod = async ({}) => {\n // getting contract\n const contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n \n // Calling write method\n try {\n // authorizing with Metamask\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n // getting wallet address\n const addressUser = web3.currentProvider.selectedAddress;\n // calling \"store\" store method for contract\n // payload should include `from` address, that matches\n // current user's wallet\n await contract.methods.store(0, 'Parameter').send({\n from: addressUser,\n });\n } catch (e) {\n throw new Error(e);\n }\n \n // calling read method\n try {\n // this method can return data\n const result = await contract.methods.retrieve().call();\n } catch (e) {\n throw new Error(e);\n }\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// see example below"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// ABI of contract"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"/* ... */"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// address for contract"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'0xdea164f67df4dbfe675d5271c9d404e0260f33bb'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"executeContractMethod"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ({}) "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// getting contract"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// Calling write method"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// authorizing with Metamask"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"({ method: "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'eth_requestAccounts'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// getting wallet address"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"addressUser"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"selectedAddress"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// calling \"store\" store method for contract"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// payload should include `from` address, that matches"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// current user's wallet"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"methods"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"store"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-c0cd4e"},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'Parameter'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":")."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" from: "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"addressUser"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"throw"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-587cb9"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// calling read method"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// this method can return data"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"methods"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"retrieve"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"call"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"throw"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-587cb9"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"nodejs-and-react-native-example"},"children":[{"type":"text","value":"Node.js and React Native example"}]},{"type":"element","tag":"code","props":{"code":"// see example below\nimport { getContract } from '.';\n\n// ABI контракта\nconst CONTRACT_ABI = { /* ... */ };\n// contract address\nconst CONTRACT_ADDRESS = '0xdea164f67df4dbfe675d5271c9d404e0260f33bb';\n// getting contract\nconst contract = getContract(CONTRACT_ABI, CONTRACT_ADDRESS);\n// account's private key\nconst privateKey = '...';\n\n// write-methods requires private key\nconst executeContractMethod = async (val: number) => {\n const transaction = contract.methods.store(val);\n const account = web3.eth.accounts.privateKeyToAccount(privateKey);\n const options = {\n to: CONTRACT_ADDRESS,\n data: transaction.encodeABI(),\n gas: await transaction.estimateGas({ from: account.address }),\n gasPrice: await web3.eth.getGasPrice(),\n };\n const signed = await web3.eth.accounts.signTransaction(\n options,\n privateKey,\n );\n await web3.eth.sendSignedTransaction(signed.rawTransaction!);\n};\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// see example below"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// ABI контракта"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"/* ... */"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// contract address"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'0xdea164f67df4dbfe675d5271c9d404e0260f33bb'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// getting contract"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// account's private key"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'...'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// write-methods requires private key"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a0c099"},"children":[{"type":"text","value":"executeContractMethod"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"val"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"number"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"transaction"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"methods"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"store"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"val"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"account"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"accounts"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"privateKeyToAccount"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" to: "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" data: "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"transaction"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"encodeABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" gas: "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"transaction"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"estimateGas"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"({ from: "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"account"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" gasPrice: "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getGasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"signed"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"accounts"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"signTransaction"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"sendSignedTransaction"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"signed"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"rawTransaction"}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"calling-a-batch-of-contracts-methods"},"children":[{"type":"text","value":"Calling a batch of contract's methods"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Function calls batch of requests, returning array of results. For example:"}]},{"type":"element","tag":"code","props":{"code":" const requests = [\n contract.method.balanceOf().call,\n contract.method.getStaked().call\n ]\n\n const result = await makeBatchRequest(request);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"requests"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"balanceOf"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"call"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getStaked"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"call"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"makeBatchRequest"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n\nconst makeBatchRequest = (calls: any[]) => {\n try {\n const web3 = getWeb3NoAccount();\n const batch = new web3.BatchRequest();\n\n const promises = calls.map((call) => {\n return new Promise((resolve, reject) => {\n batch.add(\n call.request({}, (err, result) => {\n if (err) {\n reject(err);\n } else {\n resolve(result);\n }\n })\n );\n });\n });\n\n batch.execute();\n\n return Promise.all(promises);\n } catch {\n return null;\n }\n};\n\nexport default makeBatchRequest;\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"givenProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"||"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"PROVIDER_URL"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a0c099"},"children":[{"type":"text","value":"makeBatchRequest"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"calls"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"any"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"[]) "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getWeb3NoAccount"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"batch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"BatchRequest"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"promises"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"calls"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"Promise"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"reject"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"batch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"reject"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"else"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"batch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-587cb9"},"children":[{"type":"text","value":"Promise"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"all"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"promises"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b6bddc"},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"};"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-5e972e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-5e972e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"makeBatchRequest"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"subscribing-to-smart-contract-events"},"children":[{"type":"text","value":"Subscribing to smart contract events"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"There're different ways to subscribe for contract events. For all of them you will need following variables:"}]},{"type":"element","tag":"code","props":{"code":" import Web3 from 'web3';\n const web3 = new Web3('YOUR_RPC_ENDPOINT_HERE');\n const ABI = 'YOUR ABI HERE';\n const CONTRACT_ADDRESS = 'YOUR CONTRACT ADDRESS HERE';\n const myContract = new Web3.Contract(ABI, CONTRACT_ADDRESS);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'web3'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'YOUR_RPC_ENDPOINT_HERE'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'YOUR ABI HERE'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'YOUR CONTRACT ADDRESS HERE'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"myContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"Contract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"ABI"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"CONTRACT_ADDRESS"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"by-accessing-contractevents"},"children":[{"type":"text","value":"By accessing contract.events"}]},{"type":"element","tag":"code","props":{"code":"referralProgramContract.events\n .RegisterUser()\n .on('connected', (subscriptionId: string) => {\n console.log(`| UserRegistered | events | ${subscriptionId}`);\n })\n .on(\n 'data',\n async (event: {\n removed: boolean;\n returnValues: RegisterUserResponseInterface;\n }) => {\n try {\n if (event.removed) {\n return;\n }\n const { user, referrer } = event.returnValues;\n console.log(user, referrer);\n } catch (e) {\n console.log(`| ONCE | ${e}`);\n }\n },\n )\n .on('error', (error: ErrnoException) => {\n console.log(error);\n });\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"referralProgramContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"events"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"RegisterUser"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-a0c099"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-7114b9"},"children":[{"type":"text","value":"'connected'"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":", ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"subscriptionId"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"`| UserRegistered | events | ${"}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscriptionId"}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"}`"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'data'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"removed"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eb80e8"},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"returnValues"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3a14b7"},"children":[{"type":"text","value":"RegisterUserResponseInterface"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"removed"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-673628"},"children":[{"type":"text","value":"referrer"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"returnValues"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"referrer"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"`| ONCE | ${"}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"}`"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" )"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-a0c099"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-7114b9"},"children":[{"type":"text","value":"'error'"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":", ("}]},{"type":"element","tag":"span","props":{"class":"ct-073ae6"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8b9dd9"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3a14b7"},"children":[{"type":"text","value":"ErrnoException"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-f5d327"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-fc1979"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"with-filtering"},"children":[{"type":"text","value":"With filtering"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We're listening to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Transfer"}]},{"type":"text","value":" event here:"}]},{"type":"element","tag":"code","props":{"code":" let options = {\n filter: {\n value: [],\n },\n fromBlock: 0\n };\n\n myContract.events.Transfer(options)\n .on('data', event => console.log(event))\n .on('changed', changed => console.log(changed))\n .on('error', err => throw err)\n .on('connected', str => console.log(str))\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"let"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" filter: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" value: [],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" fromBlock: "}]},{"type":"element","tag":"span","props":{"class":"ct-c0cd4e"},"children":[{"type":"text","value":"0"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"myContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"events"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"Transfer"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'data'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'changed'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'error'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'connected'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"str"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"common-subscribe-method"},"children":[{"type":"text","value":"Common Subscribe method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Filtering options can also be specified:"}]},{"type":"element","tag":"code","props":{"code":" let options = {\n fromBlock: 0,\n address: ['address-1', 'address-2'], //Only get events from specific addresses\n topics: [] //What topics to subscribe to\n };\n\n let subscription = ('logs', options, (err,event) => {\n if (!err)\n console.log(event)\n });\n\n subscription.on('data', event => console.log(event))\n subscription.on('changed', changed => console.log(changed))\n subscription.on('error', err => { throw err })\n subscription.on('connected', nr => console.log(nr))\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"let"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" fromBlock: "}]},{"type":"element","tag":"span","props":{"class":"ct-c0cd4e"},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" address: ["}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'address-1'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'address-2'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"], "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"//Only get events from specific addresses"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" topics: [] "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"//What topics to subscribe to"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"let"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscription"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'logs'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscription"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'data'"}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"event"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscription"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'changed'"}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscription"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'error'"}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"throw"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"subscription"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'connected'"}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"nr"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"getting-event-history"},"children":[{"type":"text","value":"Getting event history"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Getting history for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Transfer"}]},{"type":"text","value":" events for specific values. More info can be found "},{"type":"element","tag":"a","props":{"href":"https://web3js.readthedocs.io/en/v1.2.11/web3-eth-subscribe.html#","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"code","props":{"code":" //example options(optional)\n let options = {\n filter: {\n // only get events where transfer value was 1000 or 1337\n value: ['1000', '1337'] \n },\n // number | \"earliest\" | \"pending\" | \"latest\"\n fromBlock: 0, \n toBlock: 'latest'\n };\n\n myContract.getPastEvents('Transfer', options)\n .then(results => console.log(results))\n .catch(err => throw err);\n\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"//example options(optional)"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec9d56"},"children":[{"type":"text","value":"let"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-24ddcd"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" filter: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// only get events where transfer value was 1000 or 1337"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" value: ["}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'1000'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'1337'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"] "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f248b"},"children":[{"type":"text","value":"// number | \"earliest\" | \"pending\" | \"latest\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" fromBlock: "}]},{"type":"element","tag":"span","props":{"class":"ct-c0cd4e"},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" toBlock: "}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'latest'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"myContract"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"getPastEvents"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-97f522"},"children":[{"type":"text","value":"'Transfer'"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-eef7e7"},"children":[{"type":"text","value":"results"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":"))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-7f9070"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-2a9434"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-3a14b7{color:#FFA657}.ct-7114b9{color:#A5D6FF}.ct-b6bddc{color:#79C0FF}.ct-587cb9{color:#79C0FF}.ct-c0cd4e{color:#79C0FF}.ct-673628{color:#79C0FF}.ct-ec9d56{color:#FF7B72}.ct-8f248b{color:#8B949E}.ct-5e972e{color:#FFA657}.ct-7f9070{color:#D2A8FF}.ct-5d5457{color:#79C0FF}.ct-1242fb{color:#79C0FF}.ct-eb80e8{color:#79C0FF}.ct-073ae6{color:#FFA657}.ct-8b9dd9{color:#FF7B72}.ct-a0c099{color:#D2A8FF}.ct-fc1979{color:#C9D1D9}.ct-f5d327{color:#FF7B72}.ct-97f522{color:#A5D6FF}.ct-eef7e7{color:#C9D1D9}.ct-2a9434{color:#C9D1D9}.ct-24ddcd{color:#FF7B72}.light .ct-24ddcd{color:#859900}.light .ct-2a9434{color:#657B83}.light .ct-eef7e7{color:#268BD2}.light .ct-97f522{color:#2AA198}.light .ct-f5d327{color:#073642}.light .ct-fc1979{color:#657B83}.light .ct-a0c099{color:#268BD2}.light .ct-8b9dd9{color:#859900}.light .ct-073ae6{color:#657B83}.light .ct-eb80e8{color:#859900}.light .ct-1242fb{color:#268BD2}.light .ct-5d5457{color:#657B83}.light .ct-7f9070{color:#268BD2}.light .ct-5e972e{color:#657B83}.light .ct-8f248b{color:#93A1A1}.light .ct-ec9d56{color:#073642}.light .ct-673628{color:#268BD2}.light .ct-c0cd4e{color:#D33682}.light .ct-587cb9{color:#859900}.light .ct-b6bddc{color:#B58900}.light .ct-7114b9{color:#2AA198}.light .ct-3a14b7{color:#268BD2}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"getting-smart-contract-instance","depth":2,"text":"Getting smart contract instance"},{"id":"executing-contract-method","depth":2,"text":"Executing contract method","children":[{"id":"example-for-metamask-without-private-key","depth":3,"text":"Example for #Metamask without private key"},{"id":"nodejs-and-react-native-example","depth":3,"text":"Node.js and React Native example"},{"id":"calling-a-batch-of-contracts-methods","depth":3,"text":"Calling a batch of contract's methods"}]},{"id":"subscribing-to-smart-contract-events","depth":2,"text":"Subscribing to smart contract events","children":[{"id":"by-accessing-contractevents","depth":3,"text":"By accessing contract.events"},{"id":"with-filtering","depth":3,"text":"With filtering"},{"id":"common-subscribe-method","depth":3,"text":"Common Subscribe method"},{"id":"getting-event-history","depth":3,"text":"Getting event history"}]}]}},"_type":"markdown","_id":"content:Blockchain:Smart contracts.md","_source":"content","_file":"Blockchain/Smart contracts.md","_extension":"md"}