Skip to content
Allow testnet ETH from Rinkeby, Kovan, and Ropsten to be burned for GöETH (Görli Testnet).
Go Solidity JavaScript Shell
Branch: master
Clone or download
Pull request Compare This branch is 20 commits ahead, 6 commits behind ChainSafe:master.
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
client
logger
scripts
solidity
.gitattributes
.gitignore
LICENSE
README.md
config.json
main.go
main_test.go

README.md

GöethBridge

This is a go implementation of a generic bridge between blockchains. Made specifically to allow testnet eth from rinkeby, kovan, and ropsten to be burned for Göeth (Görli eth).

todo

  • allow for Göeth to be converted back to the other testnets.

requirements

go 1.9.1

go-ethereum go get github.com/ethereum/go-ethereum

solc/solcjs npm i -g solc

to get the bridge

go get github.com/goerli/GoethBridge

compile abi

cd solidity
mkdir build
solcjs --abi contracts/Bridge.sol -o build

to run

generic instructions for bridge, needs to be updated!

cd $GOPATH/src/github.com/ChainSafeSystems/ChainBridge
go build && go install

ChainBridge [networks]

the arguments after ChainBridge are the names of the networks you want to listen on as specified in config.json

eg. ChainBridge ropsten kovan

  • 1: mainnet

  • 3: ropsten

  • 4: rinkeby

  • 42: kovan

  • 31: rootstock testnet

    additional flags: ChainBridge -a [networks]

ChainBridge --config ./config.json [networks]

-a read logs from every contract on the network (not really useful, mostly for testing)

-v verbose output

--config specify path to config file

--keystore specify path to keystore file

interacting with the contract

for all the following, you should have another terminal open running the bridge listener with ChainBridge [networks]

ChainBridge fund network this will open up a prompt for you to make a deposit on the specified chain

ChainBridge deposit network this will open up a prompt for you to make a deposit on the specified chain id

ChainBridge pay network pay the bridge contract for a later withdraw on the specified chain

ChainBridge withdraw network this will withdraw ether that was paid to the bridge contract previously

--keystore specify path to keystore directory

--password specify password to account; this assumes that there's the same account for every chain

eg. ChainBridge fund kovan

You can’t perform that action at this time.