Frontend User Guide

A frontend user guide for the VORJ beta release

URL

vorj.app

Purpose of this guide

The purpose of this guide is to provide a first time VORJ user with the steps required to create and deploy an ERC-721 smart contract through the VORJ frontend.

Warning: VORJ is currently beta

  • This API is not meant for production use, currently beta.

  • You, the user, accept all responsibility for the use of the VORJ API.

  • Through the use of the API you are agreeing to the terms of service and privacy policy of VORJ.

  • The Vechain Foundation San Marino nor any other entity associated with Vechain nor VORJ accept any responsibility associated with the use of VORJ.

  • All smart contracts created and deployed through VORJ are done so through the VORJ deployment wallet and thus these smart contracts are owned and controlled by VORJ, unless they are transferred by the user to another wallet.

  • The digital assets, either fungible or non-fungible, that are created as part of the smart contracts are minted into your own self-custody wallet, through the provided API endpoints, and thus the digital assets are owned and controlled by the private key holder of that wallet.

Create and verify an account

To get started on VORJ, you will first need to create and verify an account. Follow the four steps to create and verify your VORJ account.

1. Landing page

From the landing page if you already have an account you can login. If you are a new user and are creating an account press the Register link.

2. Provide an email address and name

After having selected the register account you will be prompted to provide an email address and a name. After populating this information press Sign Up.

Name criteria:

  • Must be more than 5 characters in length.

  • Alphanumeric characters only.

  • No special characters allowed.

3. Set a password

The next step in creating your VORJ account is to set a password and agree to the Terms of Service. Once you have read and are satisfied with the Terms of Service proceed to check the associated checkbox. Signing up to the newsletter is optional and you can always change your preferences at a later stage. The Next button will become active once a valid password is set and the Terms of Service checkbox is checked.

Password criteria:

  • Must be more than 8 characters in length.

  • 1 Uppercase and 1 lowercase character.

  • 1 Numeric character.

  • 1 Special character.

4. Verify your account

You will receive a verification code through the email address that you signed up with. Please provide this verification code to complete your VORJ account creation.

After a successful registration you will be presented with a success message as shown in the image below.

Create an organization and project

The next step is to create an organization. An organization is a space where you can collaborate with team members to create projects which group your smart contracts.

1. Provide an organization name and image

From the success page, as show above, select the Create Organization button which will start the organization creation process.

2. Select a plan

As there is only one place select the Next button to select the Free plan.

VORJ is currently a beta release, as such there is only a free plan on offer

3. Add members

You can invite team members to join your organization to collaborate with you as you create smart contracts. To procced press Next to move onto the final step in the organization creation process.

4. Create a project

A project is a workspace within an organization where you and your team can collaborate on creating smart contracts. Provide a project name, select the network that you want to deploy your smart contract on and set an image for your project.

Smart contracts inherit the network setting of a project and smart contracts cannot be moved between projects.

After successfully creating an organization and project you will be directed to the dashboard page, which is shown in the image below.

Create a smart contract

The next step is to create a smart contract. After we have successfully created a project, we should be on a page similar to the image show above. From here we can select the project card by clicking on it. By clicking on the project card we are entering the project space, we should now be on a page similar to the image shown below.

1. Allocate resources

The first step is to allocate resources to our project so that we can create, deploy and interact with our smart contracts. To allocate resources select the Allocate Resources button.

Refer to Plans, Resources and Usage for more information.

We will be presented with a modal where we can assign a set amount of API Calls, API Calls/Min and Smart Contract Deployments for the project to use. In this example we have set the following values:

  • API Calls: 100

  • API Calls/Min: 10

  • Smart Contract Deployments: 2

Once you have set the resources for your project press the Confirm button to proceed to the next step.

A minimum of 2 API Calls and 1 Smart Contract Deployment resources are required to be allowed to create a smart contract.

The image below is an example of a project with no smart contracts but with resources allocated. The next step is to begin the smart contract creation process.

2. Select a smart contract standard

Having allocated resources and having met the minimum resource allocation requirements we should now be able to use the Create Smart Contract button. We will be presented with the options of smart contracts standards that we choose from.

We will be selecting the ERC721 token standard to create a Non-Fungible Token (NFT).

3. Create and deploy an NFT

Smart contracts are immutable, this means that once they are deployed they cannot be changed or altered in anyway. It is advised that you proceed with caution.

Always, check the contents of the form and double check it before deploying.

The NFT media that you provide as part of your NFT will be uploaded to the InterPlanetary File System (IPFS).

a. NFT configuration

Having selected the NFT standard we are presented with the template to populate, as shown in the image below. This template has a number of required and optional fields.

At a minimum the fields under the heading Token Appearance must be populated. The fields contained in the Features section are optional. It is strongly advised that you read the supporting information icons to understand the purpose of the fields before activating them.

b. Media upload

VORJ beta release and restricts the user to creating an NFT collection with a maximum of 20 images. Future releases will lift this limitation through the availability of plans with different levels of resources.

The current release provides one route for creating NFTs which is through a dynamic table to add metadata to uploaded images. Additional flows will be supported in future releases.

Supported media formats: mp3, mpeg, wov, ogg, mp4, webm, jpg, jpeg, git, svg, glb and gltf.

Either drag and drop or press upload icon within the Upload Media section. Select the group of media files that you want to upload, these can be images, video, sound or animation files. You must upload all of the files in one group at the same time. A limited number of file types are supported and there is a maximum file size per media item. Currently, there is a limit of 20 media items per NFT contract.

c. Populate metadata

Having uploaded the media files you will be presented with additional fields to populate within the Metadata section. You can provide a description for your NFT collection and up to five attributes per media items via the dynamic table. To add an attribute field use the Set Metadata button.

d. Preview

Once you have populated the NFT metadata you can use the Preview section to check and confirm the metadata of each item in your collection.

e. Deploy

Deploying a smart contract takes a minimum of two minutes but could be longer depending on network congestion and other pending transactions within VORJ.

As shown in the image above the final action is to either save the contract via the Save button and deploy it at a later stage or to deploy the contract via the Deploy button.

You can monitor all of the pending and historical transactions for your organization via the Usage page and the Transactions tab. The Usage page is accessible as the second icon on the side navigation bar.

The first image below shows the screen that will immediately appear once you select Deploy. The here links to the above mentioned Usage page and Transactions tab.

The second image shows the state of the contract that is pending deployment. The contract is in a read only state as the contract deployment transaction is propagated through the blockchain network. Once the contract deployment is successful you should be able to interact with the smart contract, more on this in the next section.

NFT Actions

Once your smart contract has been successfully deployed you can perform various activities on your smart contract via the Actions tab.

The actions available may differ depending on the features that you decided to activate on your smart contract.

Mint an NFT

To mint an NFT simply populate the Address field with the receiver Vechain address along with a valid tokenID(s).

If you cannot remember the tokenIDs that you used in your collection go back to the Contract tab and scroll to the Preview section and use the edition value as an input into tokenID.

This particular smart contract is configured to use selective minting instead of sequential minting. Selective minting allows the user to select the tokenID to send per transaction whereas sequential minting mints the tokenIDs in sequential order.

Congratulations you have now created, deployed and minted an NFT on the VechainThor blockchain.

Last updated