This repository contains contracts deployed to mainnet ethereum.
More information: https://attrace.com
Make sure to learn https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies
Use npm instead in this project
npm i
# https://hardhat.org/guides/shorthand.html
npm i -g hardhat-shorthand
# Running scripts
hh run --verbose scripts/filename.js... [--network hardhat|localhost|rinkeby|...]
# Running tests
hh test
# In separate thread
hh node
# Now run any command with network suffix
hh test --network localhost
.env
is not tracked in git
Depending on environment, the scripts expect these files with the right settings when deploying to them.
Before deploying, make sure you have the right .env loaded.
cat .env.shared >> .env
cat .env.NETWORK >> .env
# Now edit and fill out all missing values
โ ๏ธ Uncomment these statements import+usage before deploys!
import "hardhat/console.sol";
console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
Scripts are ran in a migration style and state of addresses and migrations should be tracked in the repo (manually).
We maintain a markdown file per network. Where we paste all commands with output and reference addresses which successfully complete.
- Rinkeby deployment state ./rinkeby.md
- Mainnet deployment state ./mainnet.md
The token starts as a fork of the Attrace classic network.
Due to change in address structure (ed25519 => ethereum secp256k1), transfering the tokens will happen through a bridge. The bridge collects the relationship between classic network and ethereum addresses.
./devutils/solt write --npm contracts/ATTRToken.sol