Giter Site home page Giter Site logo

eosioteleport's Introduction

Eosio Teleport

Contracts and tools to create a bridge between EOSIO tokens and ERC-20 counterparts.

Versions

The version numbers are necessary to make all teleports compatible with custom frontends. This project is called version 2 and is a fork of KevinTuncer/alienteleport, which is called version 1. Itself is a backwards compatible fork of the origin Alien Worlds teleport, which is seen as version 0. Each fork brings up a lot of new features and reduces the running costs.

Features since version 1

Oracles:

  • Rewrite of EOSIO and ETH oracles in Typescript and upgrade nodejs.
  • Fail-safe by automatically switching to other endpoints.
  • Secure against hijacked endpoints by matching the data with a predefined number of other endpoints.
  • Distribution of workload across all endpoints.
  • Use only standard chain API.
  • Advanced console parameter passing.
  • Store Chain ID of the sender chain on the EOSIO contract for each ETH to EOSIO teleport entry.

EOSIO Contract:

  • Option to delete old teleport and cancel entries without losing consensus. This reduces the RAM consumption by about 50 %.
  • Optional setup of fix and variable fees for ETH to EOSIO and EOSIO to ETH teleports. The fees will be collected and distributed among the oracles.
  • Freeze options for specific parts of the contract.
  • Adjustable number of needed oracle confirmations for receiving teleports.
  • Adjustable minimum amount for deposits and teleports.
  • Store all needed bridge data in stats table for interoperability with custom frontend apps.
  • Tests for the new functions.
  • This EOSIO contract can be deployed over the old alienteleport contract.

ETH Contract:

  • Test environment for Solidity contract

Features of version 2

  • No continues EOSIO RAM consumption anymore, due to deletion of old entries without loss of consensus
  • Minimum amount for ETH to EOSIO teleports
  • Add and remove chains on ETH contracts
  • Compile more information and use less space in ETH event logs
  • Also secure when the same oracles serve more than one bridge
  • Inform Telegram contacts about oracle status and errors
  • Automatic loan of EOSIO CPU and NET as required

Setup

See the md-file of each component for more informations.

  1. Setup the EOSIO contract and deploy it on the EOSIO chain of your choice, like EOS, WAX, ect.
  2. Setup the ETH contract and deploy it on all Ethereum based chains of your choice
  3. Configure all oracles
  4. Initialize all deployed contracts, register the EOSIO chain on each Ethereum based chain and vice versa
  5. Start the ETH and EOSIO oracles

Custom front end

Provide your own front end for your users or use the SavAct App. Select your bridge by replacing the query values of bridge and eosio. The bridge value is the EOSIO contract account name of the teleport and the eosio value is the abbreviation or EOSIO chain id of the EOSIO chain https://savact.app/#/trx/teleport?bridge=other.worlds&eosio=WAX

eosioteleport's People

Contributors

michaeljyeates avatar kevintuncer avatar dallasjohnson avatar savact avatar ssijak 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.