6

Intro I will first explain the steps that you need to do to get the list of token holders. This applies to any language so you can recreate this on your own if you don't use Python. Then I will present my opinionated solution in Python that connects to Infura and explain how it works. My approach gets you the exact same result as Etherescan's token holders ...


6

I don't know of any APIs that will achieve what you want. If not does anyone know of a way to accomplish this? Here's some fairly dumb Python code that scrapes that page and writes it to a .csv file: #!/usr/bin/env python import requests from bs4 import BeautifulSoup import csv URL = "https://etherscan.io/accounts" resp = requests.get(URL) sess = ...


6

You haven't mentioned it, but there is always the basic Ethereum JSON-RPC API. It's essentially what Infura offers, but you could run it yourself. It's supported by all the main Ethereum implementations. I reccomend this route, or using something like Infura that meets this API, because then you will be able to easily switch providers and not have to rewrite ...


4

https://infura.io/ is another one that provides a regular Ethereum JSON-RPC endpoint as well as an IPFS gateway.


4

Yeah there are some, i found https://www.etherchain.org/apidoc https://atmospherejs.com/ethereum http://blockapps.net/apidocs My understanding is that, we can create a node on our own and access the node with web3.js so that we can reduce latency issues.


3

As @AchalaDissanayake have correctly mentioned, You are requesting the ABI from the Etherscan API. That's why you get the description. You should alter the API url to get internal data from the contract.


3

You are here, from the API call with the query param action=getabi, requesting the ABI of the contract. So it supposed to return the ABI but nothing else, as you have correctly gotten. Since you need to read a value of a variable in the contract using query param action=eth_call might do this. Refer this discussion here as well. UPDATE: I think, I got it ...


2

According to the docs, you must simply append "-ropsten" to the subdomain. Your URL should look as follows: https://api-ropsten.etherscan.io/api?module=account&action=tokenbalance&contractaddress=0x6bb495e358d7aab0540d9b38996e715fcc4f1ba2&address=0x63a5f2232a519321237e31d0a79f6c20e0e652d3&tag=latest&apikey=...


2

Thanks for the question. We did change the name of the project from QuickBlocks to TrueBlocks. Link is here: http://github.com/Great-Hill-Corporation/trueblocks-core. I'll admit that the documentation is quite poor. There is currently no good tutorials. If you're interested in writing one, perhaps there's a bounty in it for you. There is a little bit of ...


2

You got the function selector right (0x2f0c92d3), but you failed to correctly ABI encode the address parameter. It should be left-padded with zeros so that it's 32 bytes wide. Try this instead: 0x2f0c92d3000000000000000000000000dc1f5d644e4016f3da89fe002f63fbeb8e071cf1


2

You can easily get a response from Ethercluster for ETC with the following curl command: curl --data '{"method":"eth_getBlockByNumber","params":["0x7B98A0", false],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST https://www.ethercluster.com/etc You can also do the same for Kotti and check its parity node status: curl --data '{"method":...


2

After give a look here and check this log and this transaction I tempted to conclude I'm just need to check the data of transaction. I conclude all contract deployment data I found starts with "0x60806040527f76". Actually.... this is the start of the contract code...most like "pragma solidity bla bla bla" so this must be the Solidity ...


1

@user216: Thanks for your comment. Indeed, an easy way is to install geth and run a light node with geth --syncmode "light" Then install web3 via pip. Afterwards the following Python code works :) w3 = web3.Web3(web3.Web3.IPCProvider('/home/user/.ethereum/geth.ipc')) block = w3.eth.get_block(12704257) # example for a recent block for tx_hash in ...


1

Okay, I had a quick look at a dumb (scraping-based) answer to this, but gave up. So this answer is more of an idea of what not to do, or what to take further. Given you're already using Python, you could have gone one step further and scraped that page with BeautifulSoup. (pip install beautifulsoup4) However, Etherscan is protected by Cloudflare, so you can'...


1

The result from the Etherscan GET request's response must be divided by 1018. As answered in this post regarding ERC20 tokens decimal places, "Most ERC20 tokens should follow the pattern of using 18 decimal places for their token." This applies to Ether itself. Therefore, the result response of 86354095000000000 is equal to 0.086354095 Ether. (...


1

I would suggest you register your contract with Ethereum Name System (ENS) during the deployment. Create an ENS name Update its ADDRESS record to point to the latest contract deployment during the deployment https://medium.com/the-ethereum-name-service/new-text-records-now-available-for-ens-names-in-manager-a0ebb9cda73a You can do this programmatically ...


1

Slightly different to what you asked... (in that in the below we're querying an ERC-20 token contract to see if it contains a balance for a specific address). The following API will allow you to query an ERC-20 token contract (at a given address) for the balance associated with a particular account address. From https://etherscan.io/apis#tokens: https://...


1

Here's a demo that lets you pull NFT data programmatically from the blockchain: https://github.com/cryptogoth/demo-erc721 for example, a few Devcon5 tickets are sold as NFTs https://etherscan.io/token/0x22cc8b3666e926bcbf58cb726143b2b044c80a0c?a=34410171212740518240382548201030436272862311489479305301712148182074228170203 Using the demo, you can call any ...


1

You can use web3.js as it is the same process for ethereum and ethereum classic to interact with the blockchain. There are also libraries for creating accounts and wallets from ethereumjs.


1

The crowdsale contract implements a functionality that allows owners to retrieve deposited funds // Crowdsale owners can collect ETH any number of times function collect() auth { assert(today() > 0); // Prevent recycling during window 0 exec(msg.sender, this.balance); LogCollect(this.balance); } The exec function makes a call that will ...


1

This can be done pretty easily just using the Web3 APIs for standard tokens. Etherscan also supports showing all the tokens that an address has in the "Token Balance" section:


1

I imagine someone, somewhere, has written a web3 implementation for PHP, but regardless of that, you can do this via simple HTTP calls to a node, or a proxy such as infura. To read from a function, you need to know its signature and the parameters you want to pass. For totalSupply(), this is simply the first 4 bytes of the keccak256 hash of the function ...


1

Use Infura.io to connect to different blockchains. You will need an account and project id. Steps to create an Infura.io Project and remarks 1) Open Infura.io page and sign up for an account. On your dashboard, you now can create a new project. 2) Change the endpoint to Kovan and directly copy the endpoint URL for connecting to blockchain. 3) The web ...


1

Google just recently announced that they created a public dataset for whole ethereum blockchain Link1 Link2 You can sign up using your google account and can use BigQuery from google to get all kind of stuff out of ethereum blockchain. They already have some really cool graphs in the above mentioned link. Github link to the repo, using this you can export ...


1

Such an API would require both the account address you want to query the balance for, as well as the address of the ERC-20 contract itself. Such a service doesn't appear to be provided by Etherscan, in either their Accounts or Tokens API endpoint. Instead you could have a look at a service like TokenBalance, which provides the following endpoint for the ...


Only top voted, non community-wiki answers of a minimum length are eligible