cryptoroots.xyz is a platform that allows users to offset their carbon footprint by planting trees ($1 = 1 tree) and earn ERC-1155 powered climate change impact badges. Let’s unlock the true potential of NFTs. Let's save our planet.
cryptoroots.xyz is a No-profit organization, 100% of the cryptoroots funds will be donated to #teamtrees cause (founded by YouTubers Mr. Beast and Mark Rober in 2019, they’ve planted 20 million + trees till now). We will frequently release donation receipts on our platform for transparency (will send emails to those who opt to subscribe to our mailing list). Also, users can track how many trees they've planted, how much area is covered, and how much carbon emission is reversed/year. The platform is designed to encourage everyone to go carbon neutral.
- Research and implement biconomy for gasless transactions and to receive funds in USDC on Polygon Mainnet.
- Create a subgraph to query totalSupply data from the blockchain by using The Graph protocol (so that the stats will be visible without connecting the wallet).
- Leaderboard (maximum number of trees donated).
- Write tests in mocha, follow best security practices in Solidity, learn more in this article.
- Resolve erc-1155 contract verification error (Unable to generate Contract ByteCode and ABI).
- A co2 emission calculator that tells how much an individual is emitting CO2/year and how many trees they need to offset their CO2 footprint (make a predictive ML model based on datasets).
- FAQ section for better UX.
- Whitepaper.
- Improve NFT artwork before public launch (animated cards that contain info regarding CO2 emission).
- Improve UI.
- Deploy on Polygon Mainnet.
Make sure you have truffle installed on your computer.
# Install Truffle globally
npm install -g truffle
# Install truffle dependencies in root directory (./cryptoroots.xyz)
npm install
Ensure you create an .env
file in root
directory. Then to access the Ethereum network/node, create a project on infura and copy-paste the infura project-id url
in .env
with a variable name REACT_APP_INFURA_MATIC_TESTNET
or REACT_APP_INFURA_RINKEBY
.
REACT_APP_INFURA_MATIC_TESTNET=https://polygon-mumbai.infura.io/v3/YOUR_PROJECT_ID
REACT_APP_INFURA_RINKEBY=https://rinkeby.infura.io/v3/YOUR_PROJECT_ID
Paste the 12 word Secret Recovery Phrase of your (preferably newly generated and testnet-only) MetaMask wallet in .env
with the variable name REACT_APP_MNEMONIC
. This will be loaded by truffle at runtime, and the environment variable can then be accessed with process.env.REACT_APP_MNEMONIC
.
REACT_APP_MNEMONIC=for example put your twelve word BIP39 secret recovery phrase here
OR
To develop on ganache blockchain, open ganache and import the accounts by adding your ganache private keys in MetaMask.
$ ganache-cli
To deploy the smart contracts on blockchain networks, follow the given truffle command below.
# truffle migrate --network NETWORK_NAME
truffle migrate --network matic_testnet
truffle migrate --network rinkeby
# --reset: Run all migrations from the beginning, instead of running from the last completed migration.
For more information, read truffle docs.
Start react app.
# cd into client directory
cd client
# Install dependencies
npm install
# Start the app
npm start
Starting the development server...
- Thanks for your interest in contributing to cryptoroots.xyz. There are many ways you can contribute to the project.
- To start, take a few minutes to read the "contribution guide".
- We look forward to your pull requests and / or involvement in our issues page.
cryptoroots.xyz is licensed under the MIT license.
Don't forget to leave a star ⭐️ ~