Web application that allow user to record and retrieve from local Ethereum blockchain (Ganache). The user needs to register in order to access the main app functions (add new entry & diary list).
User cannot register same username & Metamask account.
If user change Metamask account or network during use it will be disconnected and redirected to homepage.
Entries: Title (10-20 char), Content (30-140 char) & Rate (1-5).
All form fields are validated through browser and they cannot be empty.
"@truffle/contract": "^4.3.26",
"bcrypt": "^5.0.1",
"bootstrap": "^5.0.2",
"dotenv": "^10.0.0",
"ejs": "~2.6.1",
"express": "~4.16.1",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"mongoose": "^5.13.3",
"serve-favicon": "^2.5.0",
"web3": "^1.4.0"
"chai": "^4.3.4",
"eth-gas-reporter": "^0.2.22",
"ganache-cli": "^6.12.2",
"mocha": "^8.1.2",
"prettier-plugin-solidity": "^1.0.0-beta.17",
"solidity-coverage": "^0.7.16",
"truffle": "^5.4.0",
"truffle-assertions": "^0.9.2"
Install & run Ganache and Metamask. Follow the instructions (section "Setting up MetaMask") for link Ganache accounts to Metamask (port 7545)
Unzip file x20132484-BAD-CA. Go into the folder unzipped and open a new terminal. Then, run commands below:
npm install
npx truffle compile
npx truffle migrate --network development
see testdata.txt (root)
npm run slint
npm run test
npm run coverage
Follow steps 1 & 2 before run through one of the two commands below. Make sure you're running the Ganache client & you linked the account(s) to Metamask (see installation notes).
npm run dev
npm start