Coder Social home page Coder Social logo

enigmadns's Introduction

enigmadns

Secret contract based DNS service for Enigma blockchain.

NOTE: Current implementation does not do any authorization and there is no registration fee as the Enigma still lacks functionality like msg.sender and two-way communication with Ethereum.

Components

1. enigmadns: DNS implementation on Enigma blockchain as a secret contract.

Implements the backend functionality as an Enigma secret contract. It is possible to:

  • Register a domain.
  • Change the domain pointer.
  • Resolve a domain.

Building and running

Install discovery-cli: https://github.com/enigmampc/discovery-cli .

Run:

discovery init
discovery start
discovery compile
discovery migrate

2. client: Admin client for registering and changing the DNS targets.

Currently the following functionality has been implemented:

  • Register a domain.
  • Change domain pointer.
  • Test the domain resolving.

Building and running

Run:

cd client
npm install
npm start

3. browser-ext: Browser extension for Firefox that resolves any .enigma addresses.

Has been tested with Firefox 70.

The extension intercepts all page load calls and checks if the target URL is under a .enigma-domain. Then it calls the enigmadns backend to resolve the domain into a raw IP address or a different domain name and replaces the target URL with the resolved address.

Building

cd browser-ext
npm install
npm run build

Installing

  • Open Firefox and navigate to about:debugging.
  • Select "This Firefox".
  • Select "Load temporary add-on" and select browser-ext/addon/manifest.json.

enigmadns's People

Contributors

ndob avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.