written by Hitesh Joshi - sendmailtojoshi@gmail.com
https://fierce-plains-84557.herokuapp.com/dashboard
The heroku deployment has metamask incompatability and I am too busy to deploy it again. That said the code is fixed and will run nicely in local.
- Reserve a name with as low as 0.1 ether
- Get the name's price
- Bid on a name
- Find the current owner's address
- Withdraw your bid - if you are outbidden
- As a owner accept bids and transfer name ownership
- Send money using names
- Project is developed using Angular 4.
- Integrated with HD wallet - metamask for signing transactions to the network
- Metamask is the web3 provider.
- I have used a private geth node running at http://localhost:8545/
- Project uses truffle for compiling deploying contracts and uses promisified truffle api for interaction with contracts
- solidity and js tests are in test folder
- Clone the project
- Ensure that you have angular cli installed globally npm install -g @angular/cli
- Ensure that you have ganache cli installed globally (for development)
- Start Ganache ganache-cli --deterministic
- npm install
- Compile Contracts truffle compile
- Deploy contracts
truffle migrate --network development
- Run test suite - optional
truffle test
9.Build it
ng build --prod
10.Run it
ng serve
- Note - You need to import the ganache accounts to your metamask. Point your metamask to ganache and import using accounts private keys.
- Note of truffle migrate Since this step deploys the contract to the blockchain. If you are using a private or actual Ethereum blockchain, please make sure that the account you have used in truffle.js is unlocked.
I have used my coinbase in truffle.js, so here goes the command.
web3.personal.unlockAccount(eth.coinbase)
In order to run geth with metamask, please use the flag --rpccorsdomain="chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn
geth --identity "nodeA" --rpccorsdomain "*" --datadir=".\geth_data" -verbosity 6 --port 54259 --rpc --rpcapi "eth,net,web3" --rpcaddr "127.0.0.1" --rpcport 8545 --fast --networkid 15 --nodiscover --mine --minerthreads 1 --rpccorsdomain="chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn
Accompanying Blog https://medium.com/@achiever.hitesh/own-your-identity-in-blockchain-747a91100b39
You can use Ganache or any test net. Screenshots