For Creators

NOTE: This page is currently outdated. We are working on an update

OriginByte provides a JavaScript SDK that allows creators to make their unique collection and NFTs. Please note that our JavaScript SDK is currently in its experimental stages, so some instability is expected.

How to create your own collection and mint NFTs

  1. Run the command sui client active-address

  2. Fund this wallet address with SUI tokens for gas fees

  3. Install our nft-protocol git clone

  4. Write the underlying smart-contract for your NFT collection. Examples can be found here. Alternatively, our Gutenberg tool can generate a smart-contract for you. More details on Gutenberg can be found in our repository. (Gutenberg has been deprecated but we are working on a better solution!)

  5. Create a .env file with a field GAS=<COIN_OBJECT> to receive COIN_OBJECT sui client gas. You can use this as an object in your .env file

  6. Deploy your contract with command ./bin/ (be sure to run this command from the root directory of your nft-protocol project)

Once deploying, you should see this message in your console:

----- Certificate ----
Transaction Hash: uYYW8K1Ai62qwyqsb/gjPePisl3IydmC2mXyhUcOy9A=
Transaction Signature: 
Signed Authorities Bitmap: RoaringBitmap<[1, 2, 3]>
Transaction Kind : Publish
----- Transaction Effects ----
Status : Success
Created Objects:
  - ID: 0x42880ce096688677e84eb58d7f70b71c106dbe4d , Owner: Immutable
  - ID: 0x622594be95c6890c3a055a9fd3781661cce99c01 , Owner: Shared
  - ID: 0xaaef259e202d0508191e615470960c2465415305 , Owner: Account Address ( 0xde2d0d8c2fb85c63ec66f0322fde5d62a58acae6 )
  - ID: 0xe38937000c811e2754b377ff39c335d054d55a76 , Owner: Shared
Mutated Objects:
  - ID: 0xe2d1a60163750964db660d7b2ef7ee7326012ddd , Owner: Account Address ( 0xde2d0d8c2fb85c63ec66f0322fde5d62a58acae6 )

Let's look closer at the example output above and see how these fields are related to our JavaScript SDK.

0x42880ce096688677e84eb58d7f70b71c106dbe4d - This is your contract and is PACKAGE_OBJECT_ID in the JavaScript SDK

0x622594be95c6890c3a055a9fd3781661cce99c01 - This is your launchpad and isLAUNCHPAD_ID in the JavaScript SDK

0xaaef259e202d0508191e615470960c2465415305 - This is your authority and is AUTHORITY_ID in the JavaScript SDK

0xe38937000c811e2754b377ff39c335d054d55a76 - This is your collection and is COLLECTION_ID the JavaScript SDK

0xe2d1a60163750964db660d7b2ef7ee7326012ddd - This is your COIN_OBJECT in the .env file.

Once these objects have been produced, you can interact with them using our JavaScript SDK.

How to Interact With Your Program Using our JavaScript SDK:

In order to interact with our Javascript SDK, you should first install Node JS and the other dependencies needed for our library. These are listed here. Once installed, you are able to do the following:

  • Create several types of NFTs. Further information about this can be found in our NFT-Protocol documentation.

  • Distribute a collection using your own launchpad. For information on how to create a launchpad and how to mint to the launchpad, please click the embedded links.

Further examples of use-cases can be found in our Frontend section.

Our Community

Last updated