Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
* ERC-721 smart contract
* Adheres to strict [NFT provenance best-practices](https://link.medium.com/LJjFKB999lb)
* SEO optimised responsive site
* Allows "lazy minting" (offer NFTs without pre-minting them; buyer pays gas to mint)
* Allows "lazy minting" (offer NFTs without pre-minting, buyer pays gas)
* Shows links to Opensea & Rarible for secondary sales
* Re-assignable role for catalog management
* Re-assignable role for catalog management / minting
* Configurable revenue shares
* Configurable royalty
* Deployable on any EVM blockchain (Ethereum, Polygon, Arbitrum, etc)
* Configurable royalty rate
* Deployable on any EVM blockchain (Ethereum, Polygon, Arbitrum, ...)

See example deployments on these testnets:
- [Ethereum (Rinkeby testnet)](https://nft-surface.vercel.app/)
Expand Down Expand Up @@ -51,7 +51,7 @@ The repo currently has the details for these chains:
* Polygon Testnet
* Arbitrum Rinkeby Testnet

To add other chains, add their details in the following files, following the pattern for the already-implemented chains:
To support other chains, add their details in the following files, following the pattern for the already-implemented chains:
```
client/utils/chain-spec.js
smart-contract/hardhat.config.js
Expand Down
22 changes: 14 additions & 8 deletions smart-contract/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@ Expects the below `.env` file in the directory `smart-contract`. IMPORTANT: this

```
# For the "deploy" task, private key of the contract deployer, who is ideally also the creator (see below). For "catalog" or "sign" tasks following a deploy, private key of "agent" role.
SIGNER_PRIVATE_KEY = "...
SIGNER_PRIVATE_KEY = "..."

# The address of the creator/artist/maker/brand. This is added to the catalog and the metadata files on IPFS.
CREATOR_ADDRESS = "..."

# For Rinkeby network deployments
RINKEBY_API_URL = "..."

# For Mainnet network deployments
MAINNET_API_URL = "..."
CREATOR_ADDRESS = "..."

# NETWORKS
# Be sure to uncomment (or add) relevant lines in hardhat.config.js
# depending on which network you are deploying to.
# Rinkeby deployments
RINKEBY_API_URL = "..."
# Mumbai deployments
MUMBAI_API_URL = "..."
# Rinkeby deployments
ARB_RINKEBY_API_URL = "..."
# OTHER deployments:
# add variables here and modify hardhat.config.js to pick them up.

# For verifying contracts on Etherscan (mainnets and testnets on Etherem/Polygon/...)
ETHERSCAN_API_KEY = "..."
Expand Down
8 changes: 5 additions & 3 deletions smart-contract/hardhat.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ require('@openzeppelin/hardhat-upgrades');
const {
CREATOR_ADDRESS,
SIGNER_PRIVATE_KEY,
RINKEBY_API_URL,
MUMBAI_API_URL,
ARB_RINKEBY_API_URL,
//RINKEBY_API_URL,
//MUMBAI_API_URL,
//ARB_RINKEBY_API_URL,
ETHERSCAN_API_KEY,
POLYGONSCAN_API_KEY,
PINATA_API_KEY,
Expand All @@ -23,6 +23,7 @@ module.exports = {
defaultNetwork: "hardhat",
networks: {
hardhat: {},
/*
rinkeby: {
url: RINKEBY_API_URL,
accounts: [`0x${SIGNER_PRIVATE_KEY}`]
Expand All @@ -37,6 +38,7 @@ module.exports = {
url: ARB_RINKEBY_API_URL,
accounts: [`0x${SIGNER_PRIVATE_KEY}`]
}
*/
},
etherscan: {
apiKey: ETHERSCAN_API_KEY
Expand Down