Syscoin provides a token platform. SPT stands for "Syscoin Platform Token", a token created and used on Syscoin. The word "Token" here means a representation of a certain asset (usually a digital one). SPTs function as representations of objects. Those digital representations are more convenient to transact than the actual objects themselves.
Example: Imagine you are a customer of an Arcade. The tokens are arcade game credits. It is easier for both you and the arcade owner to exchange one-play-tokens (arcade credits). Easier for you because you don't need to lug around a pile of tokens in your pockets. Easier for the arcade owner because they don't have the overhead of dealing with physical coins. Plus, both you and the owner benefit from decentralized security and infrastructure in various ways.
SPTs have properties that are relevant to developers. These are the main ones:
How many decimals your token can be divided by. If
precision = 0 then the token can only be counted by whole numbers (integers). If
precision = 1, then fractions are allowed at one decimal of precision;
1.3, 0.8 ... and so on. Precision can only go up to 8 decimals.
The maximum number of tokens that can ever be in circulation.
Precision and max_supply are correlated when creating a token. Since max_supply is a 64-bit integer, the lower the precision the higher the max_supply ceiling (the highest max supply you can set) available to you when creating a token. If precision is 8, then the highest max_supply you can set is 9,999,999,999.99999999. Here is a table for reference:
|Precision||Max Supply Ceiling|
A number (usually stored as a
'string' in this API) that uniquely identifies your asset. This number is deterministic (set automatically by Syscoin Core). Suppose you created a token entitled "Coffee". There may be many tokens named "Coffee" but there will be only one for each
asset_guid. The actual name or 'ticker' of the token (e.g. "Coffee") can be declared as its
In this specific context, the quick and simple definition of an NFT is an SPT which has
precision = 0 and
max_supply = 1.0. It should be clear that this gives a single unique token that cannot be subdivided into smaller tokens.
# Child NFT
Syscoin Core also provides a way to mint multiple distinct and seperate NFTs (Child NFTs) from a single Parent SPT. This method has benefits like reducing NFT creation fees significantly when minting many. Child NFTs inherit certain characteristics from the Parent's token spec, and those characteristics and all others are immutable.
Child NFTs have some special properties covered below:
To prevent fungibility, after a Child NFT is minted from its Parent token, it gains its own unique
asset_guid but also has a reference to its Parent's
asset_guid. Such reference is tagged as
baseAssetID which is equal to the Parent's
Creators can also provide their own local identifier when issuing each child NFT by specifying
NFTID, a 32-bit unsigned integer. The max value of
4294967295. As you can tell, Syscoin Core provides some special NFT capabilities!