Hello Frens,
I’d like to share some exciting news with you. Cargo has been acquired! We have sunset our current services, including marketplace APIs and minting tools. To our subscribed customers, we will be refunding you for one month of service. We will continue to host existing NFT metadata and unlockable content associated with any Cargo NFT for the foreseeable future.
Thank you to all of you who have supported the platform over the last few years. It was built out of a desire to bring NFTs to the world and help people easily create NFTs at scale. I’d say we played a part in doing that. When I started building what would become Cargo in late 2017 I knew that NFTs would be big and at some point the world would catch up. Well, the world has caught up. We had a few firsts; unlockable content associated with NFTs, Magic Minting (aka Lazy Minting), split royalties and payments, multi-chain support for Polygon, Ethereum, and xDai, ERC-2309 and an implementation allowing for the standardized creation of an arbitrarily large amount of NFTs in one transaction for a cost comparable to creating one NFT in standard smart contracts.
Thank you again for coming along with me on this journey. See you in the Metaverse.
pizzarob
Founder
If you deployed a smart contract through Cargo and are advanced in Web3 you can interact with your contract on the blockchain with the following information.
Here is the ABI for the Super 721 smart contracts deployed through Cargo.
The Cargo Super 721 smart contract uses the ERC-721 and ERC-2309 standards. The contract adheres to the core 721 standard and the metadata extension. The Cargo Super 721 smart contract does not implement the optional enumeration extension - enumeration can be determined using Transfer and Consecutive Transfer (ERC-2309) event logs.
ERC-721 Metadata Extension Methods
transferMultiple(from, to, fromAddress, toAddresses)
This is a convenience method that can be used to transfer consecutive batches of arbitrary NFTs by ID. This method uses arrays and loops, so keep in mind that the more NFTs you transfer the higher the transaction fee will be. There will be an upper limit on the amount of NFTs you can transfer in one transaction.
Arguments
from - uint256[]
An array which contains the starting
token IDs in a consecutive range. This must correspond to the integer
at the same index in the to array.
to - uint256[]
An array which contains the ending token
IDs in a consecutive range. This must correspond to the integer at the
same index in the from array.
fromAddress - address
The wallet address which currently
owns the NFTs to be transferred.
toAddresses - address[]
An array of addresses which
correspond to the indices of the from and to arrays.
batchTransfer(fromTokenId, toTokenId, fromAddress, toAddress)
You can use this method to transfer a consecutive range of NFTs. The transferMultiple method uses this method under the hood, so the same limitations apply.
Arguments
from - uint256
The starting token ID in a consecutive
range.
to - uint256
The ending token ID in a consecutive range.
fromAddress - address
The address which currently owns
the NFTs to be transferred
toAddress - address
The address to receive the NFTs
updateCreator(iKnowWhatIAmDoing, newCreator)
You can use this method to update the contract owner. By default the creator will be set as the original wallet address which deploys the contract. Only the current creator can call this method.
Arguments
iKnowWhatIAmDoing - bool
A precautionary boolean. Set to
true to confirm that you know what you are doing.
newCreator - address
The wallet address of the new
creator.
creator()
A view function that returns the creator address. The creator is initially set to the wallet address which deployed the smart contract via Cargo.
burn(tokenId)
This method can be used to "burn" an NFT.
Arguments
tokenId - uint256
The token ID of the NFT to burn
version()
A view function. This method can be called to determine the version of the smart contract.
tokenURI(tokenId)
You can use this method to get the token URI of the specified token ID.
The base URI will have the contract address and token ID appended
example:
baseUrl + contractAddress + '/' + tokenId"
Depending on the version of your contract the appended path parameters may include an additional /v3 which is added after the token ID. Version 3 will have the additional parameter. The version can be checked by calling the version method.
Arguments
tokenId - uint256
The token ID of the NFT to burn
updateUriBase(base)
The creator of the contract can use this method to update the base URI for the return value of the tokenURI method. See the tokenURI method above to see what is appended to the base URI.
unsetBase()
The The creator of the contract can use this method to remove the set base URI thus reverting to the default base URI.