| a BlockChain Learning Blog # S1E5 | An Ethereum wallet
The Ethereum Wallet is a gateway to decentralized applications on the Ethereum block chain. It allows you to hold and secure ether and other crypto-assets built on Ethereum, as well as write, deploy and use smart contracts.
Setup and Installation
We can download wallet app from Ethereum official website as shown in below screenshot.
This video provides the step by step details for wallet setup
Wallet does provides you all available networks (testnets and mainnet) which we had discussed in previous blog # S1E4, we can connect to any network of choice to make it sync the blockchain of respective network.
In the below screenshot I'm connected with Ropsten network for testing purpose. Please note we can only start working with this wallet application after it will completely sync with Ethereum network
An Ethereum wallet Account Type
We can create below account type using wallet
1) Externally owned (Simple) account – It has a Key pair (Public/Private) like any other account, Private key is protect by a password. This account can be used for Sending and Receiving ethers
2) Contract account – This type of account does not have a private key and associated with a Externally owned account, any fee associated with these account should be paid by associated Externally owned account.
There are three options available while creating a Contract wallet.
A) Single Owner Contract: Useful for keeping track of incoming transactions .i.e. keeping track of the funds
B) Multisig Contract: Good for partnership Contracts, in this kind of contracts multiple parties can be involved and manage it as a partnership contract wallet.
Like as mentioned in the below example, while creating this contract wallet, it seeks parameters like number of participants, account daily limit, number of approval required if any transaction over that daily limit
We need to provide all owners address while creating the wallet and after creating the wallet we can send the wallet address to other participants so that they can import the contract wallet into their Ethereum wallet (using option C : Import wallet )
C) Import wallet: We can import any existing contract wallet using this function
Managing Contract in Ethereum wallet
Above mentioned contracts type falls under Pre-Package Contract category, but as a dapp developer you also need to create and deploy Custom contracts
There are two types of contracts can be deployed using wallets
1) Pre packed contracts like Multi Sig Contract: These can deploy using Wallet wizard as shown above.
2) Custom Contracts: As a dapp developer you need to create and deploy custom contracts, written in solidity.
- It holds the backend logic for the dapp
- When we deploy a custom contract from a wallet then it also adds into watch list for wallet
- We can also add others contract into wallet watch list for that we need the contract address and Interface definition file
In the mention area a developer can put solidity code and deploy the contract.
We will discuss more on how to ease the custom contract deployment process using Meta Mask, Remix, Truffle etc. Hope the blog is informative and added value to steemit. Do leave your comments if any.