Realm
gno.land/r/g172tf235svs0hkckys8kshnam6ncz7pscx9x59f/demo/demo_v00001/main
Rendered output
🧪 Demo Token — DEMO_V00001
Token
| Field | Value |
|---|---|
| Name | Demo Token V00001 |
| Trading unit | DEMO |
| Unit decimals | 4 |
| Total supply | 202 DEMO |
| Retired to date | 0 DEMO |
This is a standalone demo realm: no marketplace integration, no dependency on any other realm in this project. It only demonstrates tokenization, detokenization, and holder-to-holder transfer.
Trade Rules
| Field | Value |
|---|---|
| Min trade size | 1 DEMO |
| Min increment | 0.2 DEMO |
Dynamic Attributes
| Key | Value |
|---|---|
| description | A standalone demo token for trying out tokenization and detokenization. |
| status | active |
| unit | DEMO |
Total dynamic attributes: 3
Deployed on gno.land · standalone demo realm
Query (read-only)
non-crossing functions · no tx, no wallet neededAddress() → string
BalanceOf(addr string) → uint64
BurnedTotal() → uint64
CheckTradeAmount(amount uint64)
DynamicAttrCount() → int
FormatUnits(base uint64) → string
GetAdmin() → string
GetDynamicAttr(key string) → string
HasDynamicAttr(key string) → bool
IsValidTradeAmount(amount uint64) → bool
LedgerAddress() → string
MinIncrement() → uint64
MinTradeSize() → uint64
ParseUnits(s string) → uint64
SKU_() → string
TokenizedBy(addr string) → uint64
TokenName_() → string
TotalSupply() → uint64
UnitName_() → string
UnitScale_() → uint64
Call functions (state-changing)
signs a tx via AdenaDetokenize(amount uint64, deliveryAddr string)
RemoveDynamicAttr(key string)
SetAdmin(newAdmin string)
SetDynamicAttr(key string, value string)
SetTradeRules(newMinTradeSize uint64, newMinIncrement uint64)
Tokenize(holder string, amount uint64)
Transfer(to string, amount uint64)
All exported functions (28)
show raw signatures
| Name | Params | Returns |
|---|---|---|
| SetAdmin | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "newAdmin", "Type": "string", "Value": ""}] | — |
| GetAdmin | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| Address | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| LedgerAddress | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| SetTradeRules | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "newMinTradeSize", "Type": "uint64", "Value": ""}, {"Name": "newMinIncrement", "Type": "uint64", "Value": ""}] | — |
| MinTradeSize | — | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| MinIncrement | — | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| IsValidTradeAmount | [{"Name": "amount", "Type": "uint64", "Value": ""}] | [{"Name": ".res.0", "Type": "bool", "Value": ""}] |
| CheckTradeAmount | [{"Name": "amount", "Type": "uint64", "Value": ""}] | — |
| SetDynamicAttr | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "key", "Type": "string", "Value": ""}, {"Name": "value", "Type": "string", "Value": ""}] | — |
| RemoveDynamicAttr | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "key", "Type": "string", "Value": ""}] | — |
| GetDynamicAttr | [{"Name": "key", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| HasDynamicAttr | [{"Name": "key", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "bool", "Value": ""}] |
| DynamicAttrCount | — | [{"Name": ".res.0", "Type": "int", "Value": ""}] |
| Tokenize | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "holder", "Type": "string", "Value": ""}, {"Name": "amount", "Type": "uint64", "Value": ""}] | — |
| Detokenize | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "amount", "Type": "uint64", "Value": ""}, {"Name": "deliveryAddr", "Type": "string", "Value": ""}] | — |
| Transfer | [{"Name": "cur", "Type": "interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}", "Value": ""}, {"Name": "to", "Type": "string", "Value": ""}, {"Name": "amount", "Type": "uint64", "Value": ""}] | — |
| TotalSupply | — | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| BurnedTotal | — | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| BalanceOf | [{"Name": "addr", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| TokenizedBy | [{"Name": "addr", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| SKU_ | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| TokenName_ | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| UnitName_ | — | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| UnitScale_ | — | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| FormatUnits | [{"Name": "base", "Type": "uint64", "Value": ""}] | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
| ParseUnits | [{"Name": "s", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "uint64", "Value": ""}] |
| Render | [{"Name": "path", "Type": "string", "Value": ""}] | [{"Name": ".res.0", "Type": "string", "Value": ""}] |
Files
Storage
{
"raw": "storage: 28380, deposit: 2838000"
}