|
1 | | -# Tokenscript |
| 1 | +# TokenScript |
2 | 2 |
|
3 | | -Tokenscript is a program interface for tokenisation. It abstracts out the token information, access methods and UI rendering so that they can be efficiently marketised and used for integration. |
| 3 | +A TokenScript builds the front end of a token while smart contracts are the backend of a token. |
4 | 4 |
|
5 | | -## How is it created and used? |
| 5 | +A TokenScript file contains a token's business logic, token UI rendering and program interface, signed by the token's modeller. |
| 6 | + |
| 7 | +## Isn't dapp the front end of a token? |
| 8 | + |
| 9 | +Today, each token has a "home" dapp, let's call it "hosting" dapp. |
6 | 10 |
|
7 | | -The team which builds the model of a token, typically the authors of smart contracts dictating the token's transaction rules, writes its Tokenscript and signs it. |
| 11 | +If everything user has to do with that token is done on that hosting dapp, then the hosting dapp is all needed for a token front. However, one might wonder why such 2-party game (use r<-> hosting dapp) needs to use smart contract tokens at all. |
8 | 12 |
|
9 | | -Both a Dapp browser and a web application (called Dapp in Ethereum) make use of such a signed Tokenscript to visually render the token and provide trustworthy signed transactions about the token. |
| 13 | +Tokenscript is similiar to taking the "hosting" app and make it portable. In the Tokenscript framework, Dapps provide services using or related to the token. Such distinction and separation between Tokenscript and Dapp is important for the two primary functions of blockchain: *building a frictionless market* and *integrate the web*. More about that in the design paper. |
| 14 | + |
| 15 | +## How is it created and used? |
10 | 16 |
|
11 | | -## Why Tokenscript? |
| 17 | +A TokenScript is created by the token's modeler, typically the team which builds the underlying smart contracts dictating the token's transaction rules. |
12 | 18 |
|
13 | | -Today, the way tokens are accessed, rendered and transacted are scattered across Dapps and Smart Contracts. All knowledge about rendering a token and constructing a transaction about the token is in a "host" DApp. The "host" DApp becomes a centre in the token's marketisation and integration, recreating data interoperability, security and availability barrier - precisely the same set of issues that prevented tokenisation before blockchain's invention. |
| 19 | +When userd by a user (through user-agent, e.g. a Dapp browser) Tokenscript visually render the token and provide trustworthy assembling of transactions related to the token. |
14 | 20 |
|
15 | | -TokenScript allows token logic and rendering to be separated out of the "host", allows token to be easily portable and market to be created for it. |
| 21 | +When used by a dapp developer, Tokenscript allows a Dapp to interact with its interface instead of directly accessing smart contracts, so that the Dapp can be upgraded independently of all the tokens it supports. |
16 | 22 |
|
17 | | -It allows different token providers to, not only describe the features of their tokens but also how they are allowed to “act”, e.g. transferability. The crux of the idea is that such a markup description can be updated at any time by the token issuer and retroactively reflect the behaviour of already issued tokens. Besides allowing easy interoperability between different token providers, this also eliminates the need to update the DApp or smart contract whenever the business logic of a particular type of token changes. |
| 23 | +When used by a market or any other token related services (e.g. auction, collateralisation), it allows token to be correctly rendered and signed for use with these services. |
18 | 24 |
|
19 | | -## What's in a Tokenscript file? |
| 25 | +## What's in a TokenScript file? |
20 | 26 |
|
21 | | -Tokenscript is an XML dialect. It describes the functions provided by the token (through smart contract or not), the method to render it on the user's interface, the ERCs token behaviour templates it uses and the javascript needed to construct transactions and render the token. |
| 27 | +TokenScript is an XML dialect. It describes the functions provided by the token (through smart contract or not), the method to render it on the user's interface, the ERCs token behaviour templates it uses and the javascript needed to construct transactions and render the token. It also defines how attestations are used to decorate, or convert to, or validate a transaction. |
22 | 28 |
|
23 | 29 | ## TokenScript Project introduction: |
24 | 30 |
|
25 | 31 | TokenScript Project is to develop and help with adoption of TokenScript, the standard markup language for creating and using cryptographic tokens(e.g. blockchain tokens) and DApps. |
26 | 32 |
|
27 | 33 | The remarkable blockchain speculations that took place in 2017 - 2018 brought everyone's attention to crypto tokens. As we bought and sold them, we forgot their intended purpose was to be used; this is analogous to the housing bubble in which people forgot that houses were not merely speculative assets but rather a place to live. To provide a practical use of the blockchain, we must understand its utility to the world economy and the internet. The people behind this project are technical experts who went through years of study and experimentation into its applications both via financial institutions and startups. With this experience, we recognise the blockchain technology's utility in providing a frictionless market and integrating the web. |
28 | 34 |
|
29 | | -Despite the great folly in 2017-2018, it is not a bad thing to initially focus on tokens. Tokens are the enabler of the two primary functions. We define the technique to make it happen in "Tokenisation". Tokenised rights can be traded on the market and integrated across systems, forming a frictionless market and allowing free integration. Previous efforts in this industry primarily focused on enriching the capacity of the technology. This project will focus on tokenisation and introduce a standardisation effort known as Tokenscript (Token Behaviour Markup Language) which will make the blockchain technical stack complete, providing utility for the economy and the internet. |
| 35 | +Despite the great folly in 2017-2018, it is not a bad thing to initially focus on tokens. Tokens are the enabler of the two primary functions. We define the technique to make it happen in "Tokenisation". Tokenised rights can be traded on the market and integrated across systems, forming a frictionless market and allowing free integration. Previous efforts in this industry primarily focused on enriching the capacity of the technology. This project will focus on tokenisation and introduce a standardisation effort known as TokenScript (Token Behaviour Markup Language) which will make the blockchain technical stack complete, providing utility for the economy and the internet. |
30 | 36 |
|
31 | 37 | # Git repo |
32 | 38 |
|
|
36 | 42 | : documents about the language and the design |
37 | 43 |
|
38 | 44 | lib/browser |
39 | | -: browser plugin-support of Tokenscript |
| 45 | +: browser plugin-support of TokenScript |
40 | 46 |
|
41 | 47 | lib/web |
42 | | -: library for Dapps to render tokens in the case the dapp-browser does not support Tokenscript. Some features are not available (e.g. switching nodes or accessing multiple Plasma Chain) as they require underlying dapp browser support. |
| 48 | +: library for Dapps to render tokens in the case the dapp-browser does not support TokenScript. Some features are not available (e.g. switching nodes or accessing multiple Plasma Chain) as they require underlying dapp browser support. |
0 commit comments