MysteryBox Smart Contract is an Ethereum smart contract for people to sell/buy NFT tokens. Inspired by Fukubukuro, people can put NFT(s) in a box and customers/players can pick an NFT(randomly).
For design details, please see API document.
This project has git submodules. You need to initialize these submodules first.
git submodule update --init --recursiveTo install required node.js modules
npm ciTo compile the solidity source code
npm run compileTo run unit test:
npm run testTo deploy the smart contract on Ethereum rinkeby testnet:
npm run deploy rinkebyUsing the helper.ts script to set up the deployed smart contracts.
- This project is powered by hardhat.
You can change your network configuration in
hardhat.config.tsfile. - This smart contract involves some randomness, hence, the estimated gas consumption is probably not accurate. To make sure
transaction gas limitis large enough, we need to givea larger gas consumption.
| Chain | MysteryBox | MaskTestNFT |
|---|---|---|
| mainnet | 0x294428f0 |
0x56136E69 |
| ropsten | 0xc7387b6A |
0x4c73F4DC |
| rinkeby | 0xF8ED169B |
0x0c8FB5C9 |
| bsc | 0xa8518287 |
|
| matic | 0x02F98667 |
0x49C2a3D9 |
| goerli | 0xd4ABB07c |
0xcdE281B3 |
| fantom | 0x19f179D7 |
0x05ee315E |
| celo | 0x578a7Fee |
0x066804d9 |
| avalanche | 0x05ee315E |
0x81246335 |
| optimism_kovan | 0x3eadcFB5 |
0x7DBA5446 |
| optimism | 0xF9F7C149 |
0x578a7Fee |
| aurora | 0x5B966f3a |
0x54a0A221 |
| fuse | 0x5B966f3a |
0x54a0A221 |
| boba | 0x5B966f3a |
|
| moonriver | 0x6cc1b105 |
|
| conflux_espace_test | 0x4c64b524 |
0xc29afd93 |
| conflux_espace | 0x4c64b524 |
0xc29afd93 |
| harmony_test | 0x4fda6d9b |
0xd48bc506 |
| harmony | 0xDc0905F2 |
0x677f7bba |
| metis_test | 0x5B966f3a |
0x981be454 |
| metis | 0x981be454 |
0x96c7D011 |
| kardia | 0xbC7d9898 |
0x8D03d9b4 |
| astar | 0x041Bdc5b |
0x7E0aa694 |
| base | 0xc3e62b2C |
0x081ea643 |
| base_goerli | 0x8D03d9b4 |
0x3387a7e7 |
| Chain | WhitelistQlf | SigVerifyQlf | MaskHolderQlf | MerkleProofQlf |
|---|---|---|---|---|
| ropsten | 0x3011dF5b |
|||
| rinkeby | 0x50eCEebb |
0x9a656528 |
0x26c3DE14 |
0x450A1185 |
| goerli | 0xfE14631D |
|||
| aurora | 0x83D6b366 |
|||
| fuse | 0x83D6b366 |
This smart contract only support Enumerable ERC721 NFT.
Any contribution is welcomed to make it better.
If you have any questions, please create an issue.
If you have any security issue, please send to [email protected].