Ethereum contracts for the Dogecoin <-> Ethereum bridge
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.
bin
contracts
migrations
scripts
test
.gitignore
.travis.yml
LICENSE
README.md
package-lock.json
package.json
truffle-config.js

README.md

Dogethereum Contracts

Build Status

Ethereum contracts for the Dogecoin <-> Ethereum bridge.

If you are new to the Dogecoin <-> Ethereum bridge, please check the docs repository first.

Core components

  • DogeSuperblocks contract
    • Keeps a copy of the Dogecoin Superblockchain
    • Informs DogeToken contract when a Dogecoin transaction locked or unlocked funds.
    • It's kind of a Doge version of BtcRelay but using Superblocks instead of blocks.
  • DogeToken contract
    • An ERC20 contract where 1 token is worth 1 Dogecoin.
    • Tokens are minted when coins are locked on the Dogecoin blockchain.
    • Tokens are destroyed when coins should go back to the Dogecoin blockchain.
  • DogeClaimManager contract
    • Manages the interactive (challenge/response) validation of Superblocks.
    • Inspired on Truebit's Scrypt interactive ClaimManager
  • DogeMessageLibrary
    • Library for parsing/working with Dogecoin blocks, txs and merkle trees

Running the Tests

  • Install prerequisites
  • Clone this repo.
  • Install npm dependencies.
    • cd to the directory where the repo is cloned.
      npm install
    
  • Run tests:
      # first start ganache-cli
      ganache-cli --gasLimit 4000000000000
    
      # run tests
      truffle test
    

Deployment

To deploy the contracts

Requirements

  • A Rinkeby client running with rpc enabled

Deployment

  • Run truffle migrate --network rinkeby

License

MIT License
Copyright (c) 2018 Coinfabrik & Oscar Guindzberg
License

Bounty payment address

0xbc2eadd8dbc9f08e924550c8138e5f4e6c64489e