README
Bridger
Painless public profiles for Ethereum accounts
How it works
Bridger uses hyperDB, a distributed database built on an append-only log, to store data about Etheruem addresses.
It consists of two parts:
- An on-chain smart contract that associates hyperDB keys with ethereum addresses.
- A library for managing hyperDB instances and views onto them
A "view" is a function that takes a hyperDB instance and returns some data about it. We use them to create queries on profile data. These queries can be simple or complex, they can validate data or just return directl from the database. This let's us construct a rich view of an identities profile. (For example, validatio is very important when dealing with transactions on chain, you want to make sure they exist!)
For example a user could associate a Github account to their ethereum address by creating a gist containing their address. They would then store the link to the gist in their hyperDB instance. A "Github" view would then lookup that link fetch it's contents, and verify that the address contained matches the address in the hyperDB instance.
A demo
For a simple demo checkout ./src/demo.ts
To run it you have to first start up:
- A local ethereum testnet with concepts deployed
- A hyperdb bridge node
Ethereum Testnet
You're going to need truffle
and ganache-cli
installed.
- Start ganache with
ganache-cli
- in the
./contracts
runtruffle migrate
Bridge node
This one is easier, just run npm run start
Once you've got that done run npm run demo
and you should see it ask you what
your name is! Check out the source to see what's going on.