evadore
  • Evadore
  • Climate Crisis
  • Global Warming
  • Blockchains
  • ReFi
    • What is ReFi?
    • Why ReFi?
  • Eva Chain
    • Content
    • While Starting
    • What is Blockchain?
      • Blockchain Key Benefits
      • Blockchain Network Types
      • Proof-of-Authentication
    • What is Ethereum?
    • What is Solidity?
    • What are Transactions?
    • What is Gas?
    • What is Wallet?
    • Creating Tokens on Evadore
    • Evadore Technical Information
  • Strategy
    • Hydroelectric
    • Solar Energy
    • Wind Energy
    • Carbon Offset Method
    • Carbon Credits
    • Forest
  • Sustainability
    • Sustainability Principles
  • ECOSYSTEM
    • EvaLabs
    • Eva Chain
    • EvaStore
    • EvaPay
    • GreenWallet
    • EvaForest
    • CarbonEva
  • TOKENOMICS
    • TOKENOMICS
  • ROADMAP
    • The Future of Evadore; Updates and Roadmap
    • Evadore's Key Achievements so far include
    • Evadore's future plans and goals include
  • API DOCS
    • RPC API Endpoints
      • Account
      • Logs
      • Stats
      • Block
      • Token
      • Transaction
      • Contract
      • RPC API Endpoints
Powered by GitBook
On this page
  • Get a list of contracts
  • Get ABI for a verified contract
  • Get contract source code for a verified contract
  • Get contract creator address hash and creation transaction hash
  • Verify a contract with its source code and contract creation information
  • Verify a contract through Sourcify
  • Verify a vyper contract with its source code and contract creation information
  • Verify a contract with Standard input JSON file
  • Return status of a verification attempt
  • Verify proxy contract
  • Return status of a proxy contract verification attempt
  1. API DOCS
  2. RPC API Endpoints

Contract

https://instance_base_url/api?module=contract

Get a list of contracts

listcontracts

List sorted in ascending order based on the time a contact was first indexed by the explorer. With filters `not_decompiled`(`4`) or `not_verified(4)` the results will not be sorted for performance reasons.

Example:

https://instance_base_url/api
   ?module=contract
   &action=listcontracts

Get ABI for a verified contract

getabi

Also available through a GraphQL addresses query.

Example:

https://instance_base_url/api
   ?module=contract
   &action=getabi
   &address={addressHash}

Get contract source code for a verified contract

getsourcecode

Also available through a GraphQL addresses query.

Example:

https://instance_base_url/api
   ?module=contract
   &action=getsourcecode
   &address={addressHash}

Get contract creator address hash and creation transaction hash

getcontractcreation

Returns contract creator and transaction hash. Up to 10 contracts at the one request

Example:

https://instance_base_url/api
   ?module=contract
   &action=getcontractcreation
   &contractaddresses={addressHash},{addressHash}

Verify a contract with its source code and contract creation information

verify

Example:

https://instance_base_url/api
   ?module=contract
   &action=verify
   &addressHash={addressHash}
   &name={name}
   &compilerVersion={compilerVersion}
   &optimization={false}
   &contractSourceCode={contractSourceCode}

Curl Post Example

curl -d '{"addressHash":"0xc63BB6555C90846afACaC08A0F0Aa5caFCB382a1","compilerVersion":"v0.5.4+commit.9549d8ff", "contractSourceCode":"pragma solidity ^0.5.4; contract Test { }","name":"Test","optimization":false}' -H "Content-Type: application/json" -X POST "https://blockscout.com/poa/sokol/api?module=contract&action=verify"

verify_via_sourcify

  1. otherwise you need to upload source files and JSON metadata file(s).

Example:

https://instance_base_url/api
 ?module=contract
 &action=verify_via_sourcify
 &addressHash={addressHash}

POST body example

--6e1e4c11657c62dc1e4349d024de9e28
Content-Disposition: form-data; name="addressHash"

0xb77b7443e0F32F1FEBf0BE0fBd7124D135d0a525

--6e1e4c11657c62dc1e4349d024de9e28
Content-Disposition: form-data; name="files[0]"; filename="contract.sol"
Content-Type: application/json

...Source code...

--6e1e4c11657c62dc1e4349d024de9e28
Content-Disposition: form-data; name="files[1]"; filename="metadata.json"
Content-Type: application/json

...JSON metadata...

--6e1e4c11657c62dc1e4349d024de9e28--

Verify a vyper contract with its source code and contract creation information

verify_vyper_contract

Example

https://instance_base_url/api
 ?module=contract
 &action=verify_vyper_contract
 &addressHash={addressHash}
 &name={name}
 &compilerVersion={compilerVersion}
 &contractSourceCode={contractSourceCode}

curl POST example

curl --location --request POST 'http://localhost:4000/api?module=contract&action=verify_vyper_contract' --form 'contractSourceCode="SOURCE_CODE"' --form 'name="Vyper_contract"' --form 'addressHash="0xE60B1B8bD493569a3E945be50A6c89d29a560Fa1"' --form 'compilerVersion="v0.2.12"'

Verify a contract with Standard input JSON file

verifysourcecode

Example

https://instance_base_url/api
 ?module=contract
 &action=verifysourcecode
 &codeformat={solidity-standard-json-input}
 &contractaddress={contractaddress}
 &contractname={contractname}
 &compilerversion={compilerversion}
 &sourceCode={sourceCode}

solidity-single-file:

curl --location 'localhost:4000/api?module=contract&action=verifysourcecode' \
--form 'contractaddress="0xDc2082945d55596bf39F362d9EC0F7F65eDBB9DD"' \
--form 'sourceCode="// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Storage {
    uint256 number;

    function store(uint256 num) public {
        number = num;
    }

    function retrieve() public view returns (uint256){
        return number;
    }
}"' \
--form 'contractname="Storage"' \
--form 'codeformat="solidity-single-file"' \
--form 'compilerversion="v0.8.17+commit.8df45f5f"' \
--form 'optimizationUsed="1"' \
--form 'runs="199"' \
--form 'constructorArguements=""' \
--form 'evmversion="london"' \
--form 'libraryname1="qwe"' \
--form 'libraryaddress1="0xDc2082945d55596bf39F362d9EC0F7F65eDBB9DD"'
--form 'licenseType=0'

Return status of a verification attempt

checkverifystatus

guid is received as a receipt from the verifysourcecode method.

Example

https://instance_base_url/api
 ?module=contract
 &action=checkverifystatus
 &guid={identifierString}

Verify proxy contract

verifyproxycontract

Example

https://instance_base_url/api
 ?module=contract
 &action=verifyproxycontract
 &address={addressHash}

Return status of a proxy contract verification attempt

checkproxyverification

guid is received as a receipt from the verifyproxycontract method.

Example

https://instance_base_url/api
 ?module=contract
 &action=checkproxyverification
 &guid={identifierString}
PreviousTransactionNextRPC API Endpoints

On successful submission you will receive a guid as a receipt. Use this with to view verification status.

Verify a contract through

if a smart contract is already verified on Sourcify, it will automatically fetch the data from the

checkverifystatus
Sourcify
repo