OpenMinter is dApp framework for enabling the creation and collection of non-fungible tokens (NFTs) on Tezos. The dApp enables anyone to create an NFT by filling in just a few fields, create new collection contracts, see their NFTs across contracts, and enable marketplace capabilities to trade them.
This software is in beta. At the moment, the smart contracts that OpenMinter uses have not been formally audited. Please use this software at your own risk.
To start an OpenMinter instance on testnet
, make sure you have yarn
installed (v1.22.*
or above), and run:
yarn install
yarn start
OpenMinter supports the following networks and software components:
📦 Sandboxed development via Flextesa
🎨 Multimedia NFTs powered by TZIP-21
⚙️ Smart contracts based on minter-sdk
👛 Wallets compatible with Beacon
📖 Indexing via tzkt
The following dependencies are required to run OpenMinter.
Dependency | Version | Environments |
---|---|---|
Yarn | v1.22.* or above |
All |
Docker | v20.10.* or above |
Sandbox |
The Minter can be configured to run on three different networks: sandbox
,
testnet
(currently set to edonet), and mainnet
.
Each network has its own configuration file in the config
folder under
<network>.json
. The schema of these files can be defined as this TypeScript type:
type Config = {
rpc: string,
network: string,
bcd: {
api: string,
gui: string
},
contracts?: {
nftFaucet?: string
marketplace?: {
fixedPrice: {
tez: string;
}
}
}
}
To install and build the dependences required for local development, run:
$ yarn install
The installation process will fetch toplevel NPM dependences
To start OpenMinter on testnet
, run:
yarn start # or yarn start:testnet
To run OpenMinter configured for mainnet
, run:
yarn start:mainnet
OpenMinter ships with a set of contracts on mainnet and testnet that are intended only as a reference implementation and demo. In most cases, you will want to originate your own contracts to run OpenMinter. OpenMinter includes a configuration wizard CLI tool to make this process quick and easy.
To start the configuration wizard, run:
yarn bootstrap
Once the configuration wizard is complete, you can run OpenMinter with your custom config by running:
yarn start:custom
And to build OpenMinter for a production deployment with your custom config, run:
yarn build:custom
Sandboxed mode is available for OpenMinter for local testing purposes. Make sure Docker is installed on your system to run the local services.
NOTE: All data in sandboxed mode is ephemeral. Restarts will not persist any blockchain or indexer data.
To start local sandbox services and create the required default contracts, run:
yarn bootstrap:sandbox
Finally, to run the OpenMinter UI, run:
yarn start:sandbox
Pressing Ctrl-C
(or Command-C
on MacOS) after starting the OpenMinter UI
will quit the React Scripts process. To teardown the Docker compose system, run:
yarn teardown:sandbox