Skip to content
This repository has been archived by the owner on Sep 4, 2023. It is now read-only.

xorps/nd1309_project_2

Repository files navigation

Star Notary (SNT)

ND1309 C2 Ethereum Smart Contracts, Tokens and Dapps - Project Starter

PROJECT: Decentralized Star Notary Service Project - For this project, you will create a DApp by adding functionality with your smart contract and deploy it on the public testnet.

Network

Network: rinkeby (id: 4)
  Migrations: 0xC4995e520FFd978601e63dC547a558E9AF46ED29
  StarNotary: 0x773c854328EA552C1A7442a3871280a9edC24A5f

Etherscan

https://rinkeby.etherscan.io/address/0x773c854328EA552C1A7442a3871280a9edC24A5f https://rinkeby.etherscan.io/token/0x773c854328EA552C1A7442a3871280a9edC24A5f

Usage

npm install
npm run build
npm test
npm start

Version output

Truffle v5.3.6 (core: 5.3.6)
Solidity - ^0.8 (solc-js)
Node v16.1.0
Web3.js v1.3.5
OpenZeppelin ^4.1.0

Token Information

Token Name: Star Notary
Token Symbol: SNT
Contract Address (rinkeby): 0x773c854328EA552C1A7442a3871280a9edC24A5f

ToDo

This Starter Code has already implemented the functionalities you implemented in the StarNotary (Version 2) exercise, and have comments in all the files you need to implement your tasks.

Dependencies

For this project, you will need to have:

  1. Node and NPM installed - NPM is distributed with Node.js
# Check Node version
node -v
# Check NPM version
npm -v
  1. 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
npm install -g truffle@5.0.2
# Verify the version
truffle version
  1. Metamask: 5.3.1 - If you need to update Metamask just delete your Metamask extension and install it again.

  2. Ganache - Make sure that your Ganache and Truffle configuration file have the same port.

  3. Other mandatory packages:

cd app
# install packages
npm install --save  openzeppelin-solidity@2.3
npm install --save  truffle-hdwallet-provider@1.0.17
npm install webpack-dev-server -g
npm install web3

Run the application

  1. Clean the frontend
cd app
# Remove the node_modules  
# remove packages
rm -rf node_modules
# clean cache
npm cache clean
rm package-lock.json
# initialize npm (you can accept defaults)
npm init
# install all modules listed as dependencies in package.json
npm install
  1. Start Truffle by running
# For starting the development console
truffle develop
# truffle console

# For compiling the contract, inside the development console, run:
compile

# For migrating the contract to the locally running Ethereum network, inside the development console
migrate --reset

# For running unit tests the contract, inside the development console, run:
test
  1. Frontend - Once you are ready to start your frontend, run the following from the app folder:
cd app
npm run dev

Important

When you will add a new Rinkeyby Test Network in your Metamask client, you will have to provide:

Network Name New RPC URL Chain ID
Private Network 1 http://127.0.0.1:9545/ 1337

The chain ID above can be fetched by:

cd app
node index.js

Troubleshoot

Error 1

'webpack-dev-server' is not recognized as an internal or external command

Solution:

  • Delete the node_modules folder, the one within the /app folder
  • Execute npm install command from the /app folder

After a long install, everything will work just fine!

Error 2

ParserError: Source file requires different compiler version. 
Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity >=0.X.X <0.X.X".

Solution: In such a case, ensure the following in truffle-config.js:

// Configure your compilers  
compilers: {    
  solc: {      
    version: "0.5.16", // <- Use this        
    // docker: true,
    // ...

Raise a PR or report an Issue

  1. Feel free to raise a Pull Request if you find a bug/scope of improvement in the current repository.

  2. If you have suggestions or facing issues, you can log in issue.


Do not use the Old depreacted zipped starter code