Udacity Blockchain Capstone
The capstone will build upon the knowledge you have gained in the course in order to build a decentralized housing product.
Dependencies
For this project, you will need to have:
- Node and NPM installed - NPM is distributed with Node.js
# Check Node version, Project tested with version v12.22.1. you can use "nvm" to switch between node versions
node -v
# Check NPM version, Project tested with v7.15.0
npm -v
- Truffle v5.X.X - A development framework for Ethereum.
# Unsinstall any previous version
npm uninstall -g truffle
# Install
npm install -g truffle
# Specify a particular version. Project tested with v5.3.6
npm install -g truffle@5.3.6
# Verify the version
truffle version
-
Metamask: 9.5.2 - If you need to update Metamask just delete your Metamask extension and install it again.
-
Ganache for testing. make sure it runs on port 8585
-
**Load Infura key and your metamask pass phrase ** in
.env
file (please created within eth-contracts folder):
MNEMONIC="<your-metamask-pass-phrase>"
INFURA_API_KEY=<infura-rinkeby-api-key>
Run the application
- Start ganache on port 8585
- Go to solidity project
cd eth-contracts
- Compile
truffle compile
- Run tests
truffle test
. All tests must pass - Migrate to rinkeby network
truffle migrate --network rinkeby --reset
- Run minting script in order to mint 10 tokens
truffle exec scripts/mint.js --network rinkeby
Compare with my results
- contracts ABIs can be found in
build/contracts
- contract address is
0xc3CB908cc8506a0e5a3C9f483fF8699AF554dAe8
could be found on Rinkeby - collection
MIYA721
on Opensea - 1st owner of every item (cfr. mint script) is
account_two
which is0xb3996aad85a84b1fa5e451fcc0f5ba2e838609d8
. This account can then post any of his NFT on sale on Opensea. For instance, you can see here that the owner sold tokenId2
:- First there was a transaction in order to approve Opensea to sell token on account_two behalf. Etherscan
- Then NFT was sold to another account . Transaction can be seen here Etherscan
- The trading history of this token can be found on OpenSea and shows indeeded that token
2
was transfered from0xb3996aad85a84b1fa5e451fcc0f5ba2e838609d8
to0x0d718cfb215e84174d2118a38cd827d8ddbb13e8