Check out the “Getting Started with the Hedera Token Service” video tutorial in JavaScript here.
NFTs
For non-fungible tokens, the token ID represents an NFT class. Once the token is created, you must mint each NFT using the token mint operation.Token Properties
Token Properties
- Treasury key is required to sign
- Admin key, if specified
- Transaction fee payer key
- For fungible tokens, a
CryptoTransferfee is added to transfer the newly created token to the treasury account - Please see the transaction and query fees table for the base transaction fee
- Please use the Hedera fee estimator to estimate your transaction fee cost
Methods
| Method | Type | Requirement |
|---|---|---|
setTokenName(<name>) | String | Required |
setTokenType(<tokenType>) | TokenType | Optional |
setTokenSymbol(<symbol>) | String | Required |
setDecimals(<decimal>) | int | Optional |
setInitialSupply(<initialSupply>) | int | Optional |
setTreasuryAccountId(<treasury>) | AccountId | Required |
setAdminKey(<key>) | Key | Optional |
setKycKey(<key>) | Key | Optional |
setFreezeKey(<key>) | Key | Optional |
setWipeKey(<key>) | Key | Optional |
setSupplyKey(<key>) | Key | Optional |
setPauseKey(<key>) | Key | Optional |
setFreezeDefault(<freeze>) | boolean | Optional |
setExpirationTime(<expirationTime>) | Instant | Optional |
setFeeScheduleKey(<key>) | Key | Optional |
setCustomFees(<customFees>) | List<CustomFee> | Optional |
setSupplyType(<supplyType>) | TokenSupplyType | Optional |
setMaxSupply(<maxSupply>) | long | Optional |
setTokenMemo(<memo>) | String | Optional |
setAutoRenewAccountId(<account>) | AccountId | Optional |
setAutoRenewPeriod(<period>) | Duration | Optional |
setMetadataKey(<key>) | Key | Optional |
setMetadata(<bytes>) | bytes | Optional |
Note: Where the Admin, Pause, Freeze, and Wipe keys are left blank, the Supply key will be required as a minimum.