Ethereum Stack Exchange is a question and answer site for users of Ethereum, the crypto value and blockchain-based consensus network. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I am referring to Microsoft Azure's new blockchain as a service Ubuntu geth instance. I've set this up no problem and have run through the tutorial, but I'm trying to think of how I would get this to interact with/broadcast to the public blockchain. What is the bridge? This private instance comes with it's own genesis block and private key and test ether, but I'm having trouble figuring out the next step for integration.

Can someone please help point me in the right direction?

I've been looking at Truffle and Embark too, but I guess my same question would apply about bridging this gap between the private and the public.

share|improve this question
up vote 7 down vote accepted

The bridge between multiple blockchains are the private and public key pairs. The keys are what enable you to sign transactions. In the case of Ethereum blockchains, the same private key can sign a transaction on a private blockchain as well as a public blockchain.

In the Azure Quickstart Template example, the address 7fbe93bc104ac4bcae5d643fd3747e1866f1ece4 is allocated lots of ether in the genesis block. In fact, it is the only address which has ether allocated to it. The priv_genesis.key file that comes with the tutorial contains the private key associated with the address. The tutorial has you import the private key and then sign transactions with it.

On the public Ethereum network, if you were to send ether to the address 7fbe93bc104ac4bcae5d643fd3747e1866f1ece4 then you could sign transactions with the exact same PK found in priv_genesis.key. As the walk through mentions, you do not want send ether to the address 7fbe93bc104ac4bcae5d643fd3747e1866f1ece4 on the public Ethereum network since this private key is exposed to the world, anyone could take control of those funds. As you can see, no one has ever sent funds to this address, as block explorers can't find them: https://etherchain.org/account/7fbe93bc104ac4bcae5d643fd3747e1866f1ece4

Being able to send transactions between two separate blockchain networks (blockchain interoperability) is a much more complicated discussion. There are efforts such as BTC-Relay (http://btcrelay.org/) which are making incredible strides to solve pegging between blockchains.

share|improve this answer
1  
Note: this answer is written by the author of the Azure template that the question refers to. – eth Feb 12 at 2:45

When you run geth and specify a custom genesis block, you can have your own private blockchain. (Say for a test environment.) Just omit --genesis and --networkid and it will use the live/production Ethereum network.

Embark uses a custom genesis block by default for testing your contracts.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.