Creating an SPT Token on Spark
INSTRUCTIONS (CLICK TO EXPAND)
Install Spark wallet
- Go to https://github.com/blockchainfoundryinc/syscoin-spark-wallet/releases
download and install the latest Spark wallet. - Let the Spark wallet synchronise with the Syscoin 4 Blockchain.
- Fund your Spark wallet with at least 1 Syscoin.
Syscoin can be purchased at Bittrex, Binance, Flyp.me or Changelly
Complete the Create Token Form
- Go to the Create Token Dialogue in the main menu.
You will see the Issue New Token form with 9 fields:
- You will need to complete each field of this form with the specifications and parameters of your token.
More information on each form field is detailed below:
FORM FIELD DETAILS
1. Token Symbol
The Token Symbol field is a 3 to 8 character alphanumeric string used to identify your token on exchanges, wallets, block explorers and any application that supports SPTs. Symbols may contain letters or numbers only. All Symbols must be uppercase and not contain any special characters.
- This is a REQUIRED field.
- Some exchanges support a maximum of 5 characters.
Examples:
aA&
- is not a valid Symbol
APX12
- is a valid Symbol
2. Public Value
Public Value is a text string that includes any information you would like quickly and easily accessible to users through block explorers, wallets or other applications that support SPTs that gives details about your token, such as a short description or reason for creation.
- This is NOT a REQUIRED field.
- Up to a maximum of 256 characters.
3. Owner Address
Owner Address is the address used to fund the creation of your token, and the owner of the allocation of tokens created in the Initial Supply of Asset.
- This is a REQUIRED field.
- The dropdown will show only Syscoin addresses with a balance large enough to create a token.
- Choose one of the addresses in the dropdown.
4. Initial Supply
Initial Supply is the number of tokens created in the initial allocation, when you first create the token.
- This is a REQUIRED field.
- These MUST NOT EXCEED the number of tokens in Maximum Supply.
- These WILL NOT appear in the My Tokens page, but in the Distribute Tokens page.
- These can only be distributed using the Distribute Tokens function.
5. Precision
Precision is the number of units that your token can be divisible by.
- This is a REQUIRED field.
- Choose a number between 0 and 8 from the dropdown.
- Precision also affects Maximum Supply. There are a maximum 18 decimal places. Precision 0 will allow 9^18 indivisible tokens, Precision 1 will allow 9^17 tokens divisible by 10, Precision 2 will allow 9^16 tokens divisible by 100 etc.
- Default is set to 8 (Bitcoin Precision)
EXAMPLE:
Precision 0 = Units cannot be divided and will be represented by whole numbers only.
Precision 8 = Units can be divided into units of 0.00000001 of the whole, exactly like Bitcoin.
6. Maximum Supply
Maximum Supply is a number you set as the maximum number of your tokens that can ever be created.
- This is a REQUIRED field.
- You can set your maximum supply to any number between 1 and 1^18 (depending on Precision).
- Clicking the blue maximum supply button will autofill the form field with the the highest number allowed to be created.
- Your Initial Supply will be taken out of this number.
- Total Supply can never exceed Maximum Supply.
Example:
Maximum supply = 1000000, Initial supply=1000. Total supply=1000
7. Update Flags
Update Flags set editable token parameters. Each permission flag has a unique number, the sum of which define parameters the owner can change after token creation.
FLAG | EDITABLE |
---|---|
1 | Admin Status |
2 | Can Edit Public Field |
4 | Can Edit Smart Contract (Ethereum) Address |
8 | Can Update Supply |
16 | Can Change Flags (Admin Status Required) |
- This is a REQUIRED field.
- All flags (Full permissions, or 31) is the default setting.
Example:
The creator wants to be able to update total supply (mint new tokens) and the description, but does not want the Ethereum smart contract to ever be editable, so they choose flags 2 and 8 (Can edit public field and supply) only.
10 (2+8=10) = Can edit public field and update supply but no other permissions.31 (1+2+4+8+16) = Full permissions.
8. Witness
Witness is a Syscoin address that will sign as a witness to the creation of the token for web-of-trust notarization of this transaction.
- This is NOT a REQUIRED field.
9. Contract
Contract is the address for the Ethereum token contract used on the Ethereum side of the Syscoin Bridge.
- This is NOT a REQUIRED field.
- Must be in hex and not include the ā0xā format tag.
- Leave empty for no smart contract bridge.
Example: contract ā0xb060ddb93707d2bc2f8bcc39451a5a28852f8d1dā should be set as:
āb060ddb93707d2bc2f8bcc39451a5a28852f8d1dā.