Back to Blog

Kaleido meets MetaMask

Decentralized applications deployed on permissioned chains are as varied as the consortia that use them, but sometimes you just want something simple and easy. Like an asset that can represent some form of real or imaginary value. Maybe for education and learning. Maybe for a simple internal project.

From Ethereum mainnet experience, you are thinking about an ERC20 token.

But wait… this is a permissioned chain – we have power over the Ether itself. It’s built in, and there are great tools like MetaMask pre-built to use it.

So let’s look at using the MetaMask Browser plugin to transfer Ether within a Kaleido permissioned chain.

Getting started with Kaleido and MetaMask

First you need to create a Kaleido environment. If you’ve not done that before, check out the video on our docs homepage.

We recommend you create a new Geth + Proof of Authority (PoA) environment, which will work with MetaMask without any customization.

We are working to update Quorum in Kaleido to enable EIP155 signing support (as used by MetaMask) with a unique Chain ID. SeeĀ Quorum Issue 344 for a description of the fix currently in the pipe.

Connect MetaMask to Kaleido

MetaMask needs an RPC URL to connect to Kaleido, including authentication credentials to access the node.

You combine your App Credentials into the RPC URL of your node as so:
https://[USERNAME]:[PASSWORD]@[NODE-RPC-URL]

For example:
https://e0ezwftbz3:w1W_gKoj5vPIRz2YxdFV8F8G4JDW9n_YIKvVwdmos5U@e0kkpy4ofo-e0dmgfyyaz-rpc.eu-central-1.kaleido.io

Install MetaMask and point it at Kaleido

Just go over to https://metamask.io/ and install the browser extension into Chrome or Firefox.

Then choose “Custom RPC” and add your URL

Fund your account

Now MetaMask has generated you an address, and is safely holding the private key for that address.
However, that address doesn’t have any Ether in your permissioned chain.
Now we get to feel the power, and send it some Ether!

First go and copy out the address from MetaMask:

Then use the Kaleido Ether Pool to send some Ether to your MetaMask account:

Kaleido provides the Ether Pool as an environment-wide pool of 1 Billion Ether that is automatically generated in the genesis block of the chain. The Ether can be accessed by any member of the consortium through the previously demonstrated UI or via theĀ /fundaccount API documented here.

If you are implementing a real business use case around Ether in your permissioned chain, then managing that finite 1 Billion Ether will become a consortium activity.

For example if simple management of the Ether pool by Kaleido is insufficient, you can drain the Kaleido Ether pool into a set of accounts from the founding members of the consortium, and then govern the decimation of that Ether as part of the governance activities of your consortium.

Show me the Ether!

So now you’ve got the Ether there in MetaMask, you can send it to your friends:

Notice we set a Gas Price of zero in a Kaleido permissioned chain

… and decide what to do with it

So now you have your own pool of Ether, in your own permssioned chain, to use as you wish.

Of course it doesn’t have any value, and you have the fun of building that value.

Whether it’s gamification, award chart stars, education credits, there are loads of things you can do to try out the concepts of Blockchain within your Company or School.

Go ahead and give it a try.

Prev Up and Running on Kaleido with Terraform Next ConsenSys Unveils Kaleido in Collaboration with Amazon Web Services to Simplify Enterprise Blockchain Adoption