keybase-eth

0.3.6 • Public • Published

Keybase <> Ethereum Registry

NPM Package

Mapping Keybase identities with Ethereum addresses in a secure, cryptographically verifiable manner.

A project by Aragon to provide Ethereum identity.

Ropsten (deployed Feb 27th, 2017): 0x18feabc5f9437676143df8e925554eb4fdb55a91 Kovan (deployed March 8th, 2017): 0xe22fD893Eb285eA7c336158b54aC38f19E63491a

Read the original article

API

ENS compliance is being worked on.

For now API for the registry is:

Getting information

To get data regarding a registry, these three constant functions can be used:

  • getAddress(string username) returns (address): Lookup for an address given a username.
  • getUsername(address ethAddress) returns (string username): Reverse lookup of username for a given address
  • myUsername() returns (string username): Reverse lookup for sender

Registering

Both funcions are payable and if registry doesn't have funds, it will need some to pay for Oraclize costs.

  • register(string username, address ethAddress): Starts registration for the provided address and username.
  • registerSender(string username): Starts registration for tx sender for the provided username.

Fallback

Anyone can send ether to the contract to pay for verification costs on behalf of the users of the contract.

There is no suicide call nor any way the contract will send ether to anyone that is not Oraclize. Be sure that if you donate, funds will only be used for verifying records in the registry.

Gas & costs

These are the gas costs I'm experiencing:

  • Create register request: 230k gas + $0.01 USD in Ether for Oraclize + 1M gas for callback transaction

  • Successfully verify and create registry (performs ecrecover and bytes black magic): 480k gas

  • Failed verify: Will throw and eat all gas :(

Note: See that we are paying for 1M gas to Oraclize and the transaction is only using 480k gas based on my testing, will keep it on 1M on testnet to see the variance among different users, and will settle to a less wasteful value.

Readme

Keywords

none

Package Sidebar

Install

npm i keybase-eth

Weekly Downloads

3

Version

0.3.6

License

ISC

Last publish

Collaborators

  • izqui