A library for interacting with Seabug smart contracts via the Cardano Transaction Lib (CTL).
Use spago test
to run the tests. Something like nix build .#checks.<system>.seabug-contracts-unit-test
can also be used, where <system>
is something like x86_64-linux
.
These need a special environment and so are separated into their own suite. Use spago test --main Test.Plutip
to the plutip tests. Something like nix build .#checks.<system>.seabug-contracts-plutip-test
can also be used.
The minting process currently requires some manual steps. To mint a new NFT:
- Upload a new image to nft.storage (e.g. using
seabug/scripts/mint-nft.sh
). Pixabay is a good source of photos. - Uncomment this line
- Update the image info here
- Make sure you're using the base36 encoded CID (
mint-nft.sh
prints this out)
- Make sure you're using the base36 encoded CID (
- Run
make run-dev
and open the link from the console in chrome; this will trigger the minting- If Nami/Gero are giving you trouble, this snippet can be used to use a key wallet instead:
privateKey <- liftM (error "Failed to parse private key") $ privateKeyFromBytes =<< hexToRawBytes "<secret key>" privateStakeKey <- liftM (error "Failed to parse private stake key") $ privateKeyFromBytes =<< hexToRawBytes "<secret stake key>" let wallet = Just $ mkKeyWallet (wrap privateKey) (Just $ wrap privateStakeKey)
- The secret key can be obtained through e.g.
seabug/scripts/prepare-wallet.sh
(make sure to add ada to that wallet)- Note you may have to remove the "5820" from the start of the "cborHex" in the skey file
- The stake key will also be necessary for minting, the command
cardano-cli stake-address key-gen --signing-key-file stake.skey --verification-key-file stake.vkey
can be used to get a stake key
- If Nami/Gero are giving you trouble, this snippet can be used to use a key wallet instead:
- Add the wallet that you minted with as an artist to the
nft-marketplace-server
database withadmin/create_artist
To put a collection NFT from your wallet on the marketplace:
- Uncomment this line to run the sell contract on page load
- Update the sell function with details of the collection NFT in the wallet
- The currency symbol and token name will be logged to the console when the NFT is bought, and they can be copied here
- Rebuild with
make run-build
and reload the local running Seabug website, this will trigger the listing transaction- Alternatively, use
make run-dev
in the same way as with minting
- Alternatively, use
- Reloading the page again should now show the NFT in the marketplace
- Re-comment the above line to stop running the sell contract on page load