Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 2.11 KB

ICS721.md

File metadata and controls

48 lines (28 loc) · 2.11 KB

ICS721 testing enviroment

In few steps you will be able to spawn 2 chains, spawn a relayer, upload and init ICS721 related contracts to have a ready to use enviroment for testing ICS721 contracts.

Setup env

Please read the README.md to fully understand how to work with this repo.

Before starting generating the template, please make sure you have your contracts in ci-scripts/extra/contracts/ folder:

  1. cw721.wasm
  2. ics721.wasm

We will need those to run our ICS721 enviroment.

  • You can place more contracts in this folder, but you will have to use our upload and init scripts to manually upload and init them on the chinas.

You will also need to do those things before starting ICS721 related setup:

  1. Terminal 1: Start wasmd chain. see here
  2. Terminal 2: Start osmosis chain. see here
  3. Terminal 3: Start hermes relayer. see here

Setup ICS721

By now you should have 3 open terminals, running 2 chains and hermes relayer listening.

In terminal 4, we will run the script that setup all the needed contracts and channel for our testing:

    cd ci-scripts/extra/scripts

    ./init_ics721.sh

In the output you will be able to see each step this script is taking.

In the end it will provide you a json output of all the needed data to work with the contracts. (like address, code_ids, etc)

Extra info

  1. We do not init cw721 on osmosis to make sure we can test the initAndMint functionality of ics721, so on your first transfer from wasm to osmosis, ics721 should init a new cw721 contract on osmosis.

  2. We mint 10 NFTs on wasm cw721 contract to be able to start transfering NFTs right away, the tokens IDs are 1 to 10, and the owner is the relayer waller. (wasm1ll3s59aawh0qydpz2q3xmqf6pwzmj24t8l43cp)

  3. To start transfering, you will need to capture the cw721 address on wasm and on osmosis, the command should work on both of them but make sure you change chain related info. (like chain denom, chain name, chain id, etc.)