Skip to content
/ EProp Public

EProp is an ERC721-based property ownership system with its token and marketplace features.

Notifications You must be signed in to change notification settings

emtothed/EProp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EProp

you can find the verified contract on etherscan.com and test its functionality here: verified contract on etherscan.com

EProp

EProp is an ERC721-based property ownership system with its token and marketplace features such as:

  • Allowing the owner of the token to list and unlist the token for sale
  • Allowing the owner of the token to set an address as a buyer with a cerain price
  • Allowing users to make an offer for a token
  • Allowing the owner of the token to put the token up for auction

Getting Started

Requirements

  • git
    • You'll know you did it right if you can run git --version and you see a response like git version x.x.x
  • foundry
    • You'll know you did it right if you can run forge --version and you see a response like forge 0.2.0 (816e00b 2023-03-16T00:05:26.396218Z)

Quickstart

git clone https://github.com/emtothed/EProp
cd foundry-nft-f23
forge install
forge build

Usage

Start a local node

make anvil

Deploy

This will default to your local node. You need to have it running in another terminal in order for it to deploy.

make deploy

Deployment to a testnet or mainnet

  1. Setup environment variables

You'll want to set your SEPOLIA_RPC_URL and SEPOLIA_PRIVATE_KEY as environment variables. You can add them to a .env file, similar to what you see in .env.example.

  • SEPOLIA_PRIVATE_KEY: The private key of your account (like from metamask). NOTE: FOR DEVELOPMENT, PLEASE USE A KEY THAT DOESN'T HAVE ANY REAL FUNDS ASSOCIATED WITH IT.
  • SEPOLIA_RPC_URL: This is url of the goerli testnet node you're working with. You can get setup with one for free from Alchemy

Optionally, add your ETHERSCAN_API_KEY if you want to verify the contract on Etherscan.

  1. Get testnet ETH

Head over to sepoliafaucet.com and get some tesnet ETH. You should see the ETH show up in your metamask.

  1. Deploy
make sepoliaDeploy

Testing

forge test

or

forge test --fork-url $SEPOLIA_RPC_URL

Scripts

After deploy to a testnet or local net, you can run the script to mint a token.

  1. change interaction.s.sol and put your private key in the place
function mintNftOnContract(address contractaddress) public {
        address yourAddress = -------put your address here---------;
        
        console.log("minting token for: ", yourAddress);
        vm.startBroadcast();
        EProp(contractaddress).mintProp(yourAddress, 65, 45, 1, 1 , 0);
        vm.stopBroadcast();
    }
make mint

or

make sepoliaMint

Contact me

Thank you!

About

EProp is an ERC721-based property ownership system with its token and marketplace features.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published