36

Bitcoin used to offer sharing/downloading a bootstrap.dat which contains the whole blockchain.

Are there alternatives to getting it trickling through the peer-to-peer network? Can I just download it somewhere? Wouldn't this be ideal for distribution via torrent?

If so, how do I import it into the Ethereum client?

My client would still be validating this data (can it?), and it is all signed and proof-of-worked, so there is no real security problem here, is there?

Donavan Theodor
  • 1,943
  • 3
  • 20
  • 28
  • 1
    well for instance on github ethereum, if they don't want to provide boostrap file themselves perhaps they could publish say the hash of the first N blocks so that when you download those blocks from another third party that the hash matches ? – Ezy Jun 05 '16 at 16:41
  • Strongly agree. Is there any security reason why there could not be standardized bootstrap files with published MD5 and/or PGP checksums? Seems like it would save a lot of time & Ethereum network bandwidth. – gosmond Mar 28 '17 at 03:55
  • 1
    the blockchain now has 6,170,500 blocks. To speed up the download I'm using the method at https://mudra.cloud/ethereum/blockchain.html Is this the fastest method? Does anyone know another faster method? Thanks – romanoing Aug 18 '18 at 17:02
  • This does not really answer the question. If you have a different question, you can ask it in a separate question. – Achala Dissanayake Aug 18 '18 at 17:17
  • ok, I asked the question in the right place. Tks – romanoing Aug 18 '18 at 17:46
  • Do you have a link with an up-to-date export? – rraallvv Nov 05 '18 at 22:42

6 Answers6

22

Answer

If you want to download the blockchain data from an external source that is up to you, but that does come with risks of the data being corrupted or sabotaged in a way to compromise your machine or Ethereum wallets. So the "security issue" is that you are trusting an un-trusted, non-Ethereum network source when you download the file. As long as you trust the source or want to take that risk your Ethereum client will still validate the data you downloaded as correct for the Ethereum network you connect to (mainnet, testnet [Morden], etc.).

That all being said, I do not know of any third party sites that offer the Ethereum blockchain as a download. If you were to create such a site, it is possible to export and import the Ethereum blockchain data using the commands below

Details

Using geth:

geth export <filename>

geth import <filename>

Using eth (C++)

eth --import <filename>

eth --export Myfile --format binary --from 45 --to latest

(Formats supported: hex (newlines separating), binary or JSON --from and --to also support blockhashes)

Source

Hudson Jameson
  • 4,621
  • 2
  • 22
  • 34
  • 6
    Your security concerns are pointless. Even if he downloads a forged blockchain, his node will not generate the latest valid state and wont be able to sync with the entire network after finding first invalid block. So, you can download a blockchain file from untrusted source without any problem. – Nulik Nov 29 '17 at 12:16
9

You may download Mainnet Ethereum blockchain as of 2016-05-30, including 1,613,031 blocks (1.7GB) from http://bloopish.com/tools/ethereum/ at your own risk, saving 1 or 2 days of sync.

3

You can download a very recent version (2017-03-07) also from here:

http://mudra.cloud/ethereum/blockchain.html

ainsoph
  • 31
  • 1
  • 2
    Why would you even publish this? This is a copy of the Ethereum blockchain offered by a pseudo-anonymous source, with no MD5 hashes or any other means of verification. Bad security practice. – gosmond Mar 28 '17 at 03:53
  • SHA-256 checksum published. Login required to download. – Erkin Alp Güney Jul 02 '17 at 11:50
  • 2
    This source is not available anymore (displays message of this effect when trying to download an epoch). – johndodo Dec 20 '17 at 08:52
  • @gosmond , you don't need MD5. It is a broken security algorithm nobody uses anymore. And you don't need any checksum on the data at all. You just have to download geth from the Ethereum's github repository and it will do all the verification by itself. On first invalid block the program will just exit. The only thing you have to verify is the hash of block 0. Verify it against Etherscan. – Nulik Aug 23 '18 at 13:42
1

JSON API

Every Ethereum node provides access to a JSON API which allows you to export blocks, transactions and other Ethereum objects in JSON.

To export Ethereum data, you may rely on a number of public nodes listed at ethereumnodes.com: some of them are free of charge.

A public node's API is usually accessible via HTTP (RPC), but when you run your own node, you may efficiently fetch the data using geth IPC (via a unix socket). This way you avoid the network overhead.

But to fetch a data from your own node, you have to wait for it to fully sync which may take several days. So, a public node is a good quick start option.

Alternative: BigQuery public datasets

You may also rely on BigQuery public datasets with Ethereum data. This will free your hands from exporting the data and allow to directly query it.

Further reading

Here is a detailed article about exporting the full history of Ethereum into S3: “How to Export a Full History of Ethereum Blockchain to S3” (Medium). It includes all the options: public nodes, owned nodes, BigQuery datasets, and tips on the further Ethereum data processing.

1

Might not be fully what you want but since all the answers are outdated, you can get a paid (small fee) verified copy from http://archivenode.net or http://getblockchain.download or http://download.myethereumdatabase.net or http://get.myethereumdatabase.net

If you don’t want to pay for network costs, you also have the option to contribute to the source code of open‐source projects.

user2284570
  • 1,008
  • 1
  • 12
  • 30
0

You can download a (2017-08-10) version from here:

https://forum.ethereum.org/discussion/14143/ethereum-blockchain-export-file-available-for-download

Nerdroid
  • 817
  • 2
  • 8
  • 19
  • After unzipping the file, where would you insert the blockchain_eth_20170810_2320.export file?

    I copied to the GETH directory and launched GETH from CMD, but it seems to be behaving the same as if I were starting from scratch.

    Is this the only effort to bootstrap Ethereum? Is there documentation on how to do this that I'm not seeing?

    – pgSystemTester Jan 28 '18 at 17:53
  • 1
    use geth import <filename> check Hudson Jameson answer https://ethereum.stackexchange.com/a/2347/11820 – Nerdroid Jan 29 '18 at 02:37
  • Is it for a fast node (Geth)? – rraallvv Nov 05 '18 at 21:43