Fungible Tokens

Fungible Tokens (FTs)

FT is mainly used for homogeneity of assets or rights. You can set the total limit of FT distribution, token symbols to use, and set up the issue and management permissions.

Unlike NFT, FT's transfer permissions are fixed, and the owner always has transfer permissions. In most cases, the issuance of FT should correspond to a certain asset / interest / point number rather than a mere token. The typical application scenarios of FT include supermarket score, game points and stable coin.

FT stores and operates by balance-based models on our chain.

There is two kind of authorization in fungible: issue and manage.

Try FTs via evtc

evtc is a command line tool to manage everiToken wallet and to send commands to the chain.

If you want to use our SDK for FTs, please refer to Javascript SDK Reference.

You can also manage FTs by calling HTTP API of everiToken directly (See API Reference for detail).

Create FTs

Create a fungible named ABC:

    evtc fungible create ABC abc "5, S#3" EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr "100.00000 S#3" --payer EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Great! You just created a new fungible named ABC! And EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr is ABC fungible's creator.

You will get the output like this:

    executed transaction: 03aa93e2a9af4fe1be7db55623d24685334d7ee1e7382dec205a5ab32f3edb09
    total elapsed: 510 us
    total charge: 0.00000 S#1
    (1 of 1)
       action : newfungible
       domain : .fungible
          key : 3
      elapsed : 346 us
      details : 
    |->name : ABC
    |->sym_name : abc
    |->sym : 5, S#3
    |->creator : EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
    |->issue : 
        |->name : issue
        |->threshold : 1
        |->authorizers : 
            |->ref : [A] EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
            |->weight : 1
    |->manage : 
        |->name : manage
        |->threshold : 1
        |->authorizers : 
            |->ref : [A] EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
            |->weight : 1
    |->total_supply : 100.00000 S#3

And then you could issue this fungible to others:

    evtc fungible issue EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr "1.00000 S#3" --payer EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Which will output:

    executed transaction: b5d31351dac16be0189dd599350474fff537384bcad59e4a5e74453cee6c9cdb
    total elapsed: 499 us
    total charge: 0.00000 S#1
    (1 of 1)
       action : issuefungible
       domain : .fungible
          key : 3
      elapsed : 323 us
      details : 
    |->address : EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
    |->number : 1.00000 S#3
    |->memo : 

Check the asset:

    ./evtc get balance EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Output:

    (1 of 1)
    |->1.00000 S#3