MetaMask is a secure browser wallet, providing a user interface to manage your identities on different sites and sign blockchain transactions. With MetaMask you can run DApps directly in your browser and communicate securely with your own Kaleido nodes. If you don’t have MetaMask installed in your browser, you can download the extension here.
The following blog – Kaleido Meets Metamask – provides a useful walkthrough for connecting to a Kaleido chain via the wallet interface and funding a MetaMask account with Ether from your permissioned Kaleido environment.
The Drizzle Kaleido Truffle box demonstrates MetaMask as the signing utility for a React-based browser application targeting the Simple Storage smart contract.
Creating a Custom RPC
MetaMask can communicate with any of the public Ethereum networks and also supports customizable endpoints for private permission-based networks. To create a custom Kaleido endpoint:
- Build out the fully qualified RPC endpoint for the node you would like to target
- The string needs the application credentials injected inline with the following syntax –
- You can build the string manually or use the Kaleido Connect panel to autogenerate a targetable endpoint
- Open your MetaMask plugin and login to your wallet. You can use your password for standard login or rebuild the accounts deterministically using the original 12 word seed phrase
- Expand the networks dropdown at the top of the wallet interface and select Custom RPC
- In the Network Name field supply an arbitrary name for your network to allow for easy identification. For example, “My Kaleido Chain”
- In the New RPC URL field supply your fully qualified node endpoint with application credentials injected inline
- ChainID, Symbol and Block Explorer URL are all optional and not required for connection to Kaleido
- Click Save to establish connection to your Kaleido chain
- If the connection is successful, your Kaleido chain will appear as a targetable endpoint in the Networks table
- You can proceed to create multiple network connections for different environments and nodes