Skip to content
Smart contract for registering names
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
contracts
migrations
test
.eslintignore
.eslintrc.json
.gitignore
.solcover.js
.solhint.json
README.md
hdWallet.js
package-lock.json
package.json
truffle.js
web3Engine.js

README.md

selfkey-name-registry

Smart contract for registering names for Selfkey Identity.

  • developCircleCI codecov
  • masterCircleCI codecov

Overview

The NameRegistry contract provides the following functionality.

  1. Addresses are able to register any 32 byte value linked to it. Staking is required in order to register a name. For more information about staking, check the selfkey-staking project documentation.

  2. Names can be revoked by withdrawing the stake associated with it.

  3. The contract is able to "resolve" a name into its corresponding address, as long as its associated stake is still in place.

Development

All smart contracts are being implemented in Solidity 0.4.23.

Prerequisites

  • NodeJS, version 9.5+ (I use nvm to manage Node versions — brew install nvm.)
  • truffle, which is a comprehensive framework for Ethereum development. npm install -g truffle — this should install Truffle v4+. Check that with truffle version.

Initialization

npm install

Testing

Standalone

npm test

or with code coverage

npm run test:cov

From within Truffle

Run the truffle development environment

truffle develop

then from the prompt you can run

compile
migrate
test

as well as other Truffle commands. See truffleframework.com for more.

Linting

We provide the following linting options

  • npm run lint:sol — to lint the Solidity files, and
  • npm run lint:js — to lint the Javascript.

Contributing

Please see the contributing notes.

You can’t perform that action at this time.