https://github.com/hellosumitg/meta-city
Let's enter the world of Metaverse and purchase some plots of land...
https://github.com/hellosumitg/meta-city
ethereum ganache-cli metamask react threejs truffle web3js
Last synced: 5 months ago
JSON representation
Let's enter the world of Metaverse and purchase some plots of land...
- Host: GitHub
- URL: https://github.com/hellosumitg/meta-city
- Owner: hellosumitg
- Created: 2022-11-25T13:52:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-18T08:19:39.000Z (over 2 years ago)
- Last Synced: 2024-07-29T20:24:06.132Z (almost 2 years ago)
- Topics: ethereum, ganache-cli, metamask, react, threejs, truffle, web3js
- Language: JavaScript
- Homepage: https://meta-city.vercel.app/
- Size: 4.94 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MetaCity
## Theory
- What is a Non-Fungible Token?
Fungible means to be the same or interchangeable eg Eth is fungible. With this in mind, NFTs are unique; each one is different. Every single token has unique characteristics and values. They are all distinguishable from one another and are not interchangeable eg Unique Art

- What is ERC-721?
ERC-721 is an open standard that describes how to build Non-Fungible tokens on EVM (Ethereum Virtual Machine) compatible blockchains; it is a standard interface for Non-Fungible tokens; it has a set of rules that make it easy to work with NFTs. Before moving ahead have a look at all the functions supported by [ERC721](https://docs.openzeppelin.com/contracts/3.x/api/token/erc721)
## Technology Stack & Tools
- Solidity (Writing Smart Contract)
- Javascript (React & Testing)
- [Web3](https://web3js.readthedocs.io/en/v1.5.2/) (Blockchain Interaction)
- [Truffle](https://www.trufflesuite.com/docs/truffle/overview) (Development Framework)
- [Ganache](https://www.trufflesuite.com/ganache) (For Local Blockchain) for testing purpose
- Goerli Testnet for deployment
- [MetaMask](https://metamask.io/) (Ethereum Wallet)
- [ThreeJS](https://threejs.org/docs/index.html) (3D Javascript library)
- [@react-three/fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction) (React renderer for Three.js)
- [@react-three/drei](https://docs.pmnd.rs/drei/introduction) (Extra helpers for React-Three-Fiber)
## Requirements For Initial Setup
- Install [NodeJS](https://nodejs.org/en/), I recommend using node version v14 or v16 to avoid any potential dependency issues
- Install [Truffle](https://www.trufflesuite.com/docs/truffle/overview), In your terminal, you can check to see if you have truffle by running `truffle --version`. To install truffle run `npm i -g truffle`.
- Install [Ganache](https://www.trufflesuite.com/ganache).
- Install [MetaMask](https://metamask.io/) in your browser.
## Setting Up
### 1. Clone/Download the Repository
### 2. Install Dependencies:
`$ yarn`
### 3. Migrate Smart Contracts
`$ truffle migrate --reset`
or
`$ truffle migrate --reset --network goerli`
### 4. Test Smart Contracts
`$ truffle test`
### 5. Start Frontend
`$ yarn start`
## Requirements For Running App
#### 1. Setup a local blockchain network for running Ganache-Cli with these credential or as per your choice:
- Network name: "Local Network CLI"
- New RPC URL: "http://127.0.0.1:8545/"
- Chain ID: "31337"
- Currency symbol: "ETH"
- Block explorer URL(OPtional): fill it
or leave it empty as per your choice
#### 2. Run the Local blockchain in one terminal and keep it running by writing also copy and import first two accounts' private into your metamask wallet using :-
`$ npx ganache-cli`
#### 3. Now start the App using new terminal and purchase the plot of land using:-
`$ yarn start`