Skip to content

Instantly share code, notes, and snippets.

@zelig
Created December 1, 2015 12:17
Show Gist options
  • Save zelig/aa6eb43615e12d834d9f to your computer and use it in GitHub Desktop.
Save zelig/aa6eb43615e12d834d9f to your computer and use it in GitHub Desktop.
The Ethereum Sword = Swarm On-demand Retrieval Daemon

The Ethereum Sword = Swarm On-demand Retrieval Daemon

With this service enabled, you keep the Ethereum chain data in swarm, so your ethereum node can function as a flexible light client.

Sword leverages the new chain and state access layers to the core, to provide an on-demand retrieval plugin. Perfectly identical to the LES-based light client, SWORD provides integrity protected (merkle proof verified) on-demand access to the ethereum blockchain data. Chain data include blocks, transactions (maybe even block headers), receipts, state and contract storage. This means a fast user-experience that allows you to do anything a full archival node can without major compromise to security yet without ever running the VM or storing any particular part of the chain and state database.

SWORD is completely resistant to local storage or memory failures but requires network connectivity and a healthy swarm network with sufficient provision (enough nodes submitting, storing and serving chain data). On the one hand a SWORD node can become a full node that distributes content to the swarm the moment it downloaded the entire canonical chain and the corresponding states. (if all historical data is retrieved it becomes a full archival node). Or on the other extreme, a SWORD node can be a no-disc in-memory light client that forgets everything all the time.

In addition the SWORD service provides you with a blockchain and state data download API to control chain and state data download manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment