MintKit
The MintKit is a toolkit to build services with minting capabilities. For example, El Collectooorr service, which is based on the MintKit, aims to autonomously create collections of NFTs by minting them as they drop on Art Blocks. It uses complex logic to decide which mints to participate in and what prices to bid at, so users don’t have to. The service is fuelled by the community of users who fund collections. Each collection is designed to have its own unique ERC-20 token, for users to vote and collectively decide on what happens to the collection.
Demo
Important
This section is under active development - please report issues in the Autonolas Discord.
In order to run a local demo of the El Collectooorr service:
-
Set up your system to work with the Open Autonomy framework. We recommend that you use these commands:
mkdir your_workspace && cd your_workspace touch Pipfile && pipenv --python 3.10 && pipenv shell pipenv install open-autonomy[all]==0.10.3 autonomy init --remote --ipfs --reset --author=your_name
-
Fetch the El Collectooorr service.
autonomy fetch elcollectooorr/elcollectooorr:0.1.0:bafybeigk4tosvoneflivxmfpbr7f3ay42gilaukwtqe7zt2lklidvds4sq --service
-
Build the Docker image of the service agents
cd elcollectooorr autonomy build-image
-
Prepare the
keys.json
file containing the wallet address and the private key for each of the agents.Example of a
keys.json
fileWARNING: Use this file for testing purposes only. Never use the keys or addresses provided in this example in a production environment or for personal use.
[ { "address": "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65", "private_key": "0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a" }, { "address": "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc", "private_key": "0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba" }, { "address": "0x976EA74026E726554dB657fA54763abd0C3a0aa9", "private_key": "0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e" }, { "address": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955", "private_key": "0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356" } ]
-
Prepare the environment and build the service deployment.
-
Export the required environment variables.
export SAFE_CONTRACT_ADDRESS="0x123a3d66cf688b676f9b7a6bcc3991f62fec7f0a" export WHITELISTED_INVESTOR_ADDRESSES='["YOUR_WHITELISTED_ADDRESS"]' export SERVICE_ELCOLLECTOOORR_RPC_0="YOUR_RPC_URL" export SERVICE_ELCOLLECTOOORR_RPC_1="YOUR_RPC_URL" export SERVICE_ELCOLLECTOOORR_RPC_2="YOUR_RPC_URL" export SERVICE_ELCOLLECTOOORR_RPC_3="YOUR_RPC_URL" export ALL_PARTICIPANTS='["0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65","0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc","0x976EA74026E726554dB657fA54763abd0C3a0aa9","0x14dC79964da2C08b23698B3D3cc7Ca32193d9955"]'
where
0x123a3d66cf688b676f9b7a6bcc3991f62fec7f0a
should match the correct address from the on-chain service deployment, andYOUR_WHITELISTED_ADDRESS
,YOUR_RPC_URL
should be replaced accordingly. Note that0x123a3d66cf688b676f9b7a6bcc3991f62fec7f0a
is the mainnet safe address of the El Collectooorr. You will be able to run the service by setting this address. However, any on-chain transaction will fail unless you have the operator keys.Important
The keys provided in this example are for testing purposes. You must ensure to use your own keys in the
keys.json
file, and ensure that the environment variableALL_PARTICIPANTS
matches their addresses. -
Build the service deployment.
autonomy deploy build keys.json --aev -ltm
-
-
Run the service.
cd abci_build autonomy deploy run
You can cancel the local execution at any time by pressing Ctrl+C.
Build
- Fork the MintKit repository.
- Make the necessary adjustments to tailor the service to your needs. This could include:
- Adjust configuration parameters (e.g., in the
service.yaml
file). - Expand the service finite-state machine with your custom states.
- Adjust configuration parameters (e.g., in the
- Run your service as detailed above.
Looking for help building your own?
Refer to the Autonolas Discord community, or consider ecosystem services like Valory Propel for the fastest way to get your first autonomous service in production.