Skip to content

Commit 92f9fd2

Browse files
Merge pull request #56 from AlphaWallet/boon-guided-readme
Tokenscript is the front end of tokens, like Smart Contracts are the back end of tokens
2 parents da0adef + 8436ea3 commit 92f9fd2

1 file changed

Lines changed: 28 additions & 16 deletions

File tree

README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,44 @@
1-
# Tokenscript
1+
# TokenScript
22

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+
TokenScript builds the front end logic of a token dapp with the smart contract on the backend.
44

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.
66

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.
7+
## Don't we already have a front-end for tokens?
88

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.
9+
In Ethereum, most tokens have a web application which serves all the content relevant to the token. Let's call it _the "Dapp" of the token_.
10+
11+
If everything the user wanted to do with that token is done on that website, then yes there is already a front-end for that token. But that token isn't very useful as a blockchain token, since it can't be used on other Dapps.
12+
13+
TokenScript of a token is like making _the dapp of the token_ portable and usable across multiple dapps. In this frameworkd, a dapp can provide services and context related to the token (e.g. you have one sword in the WoW dapp and an assault rifle in call of duty).
14+
15+
This distinction and separation is important for tokenisation - a concept addressed in [the design paper](https://github.com/AlphaWallet/TokenScript/releases). The authors of the design paper holds that there is no tangbile benifit of using blockchain without tokenisation.
1016

1117
## Why Tokenscript?
1218

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+
Today, the way tokens are accessed, rendered and transacted are scattered across Dapps and Smart Contracts. This limited the use of Tokens.
20+
21+
Typically, all knowledge about rendering a token and constructing a transaction about the token is in a "host" web app. The "host" web app 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.
22+
23+
By taking the knowledge of tokens including smart contract interfaces out and put them into a portable Tokenscript we allow tokens to be accessible and useful.
24+
25+
## How is a Tokenscript created and used?
1426

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.
27+
A TokenScript is typically created by the token's modeler, the team which builds the underlying smart contracts dictating the token's transaction rules.
1628

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.
29+
When used by a user (through user-agent, e.g. a Dapp browser) Tokenscript visually renders the token and provides trustworthy assembling of transactions related to the token.
1830

19-
## What's in a Tokenscript file?
31+
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.
2032

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.
33+
When used by a market or any other token related service (e.g. an auction or collateralisation), it allows the token to be correctly rendered and signed for use with these services.
2234

23-
## TokenScript Project introduction:
35+
## What's in a TokenScript file?
2436

25-
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.
37+
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.
2638

27-
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.
39+
## TokenScript Project introduction
2840

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.
41+
The TokenScript project is an initiative to design, progress Tokenscript and nurture the use of Tokenscript.
3042

3143
# Git repo
3244

@@ -36,7 +48,7 @@ doc
3648
: documents about the language and the design
3749

3850
lib/browser
39-
: browser plugin-support of Tokenscript
51+
: browser plugin-support of TokenScript
4052

4153
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.
54+
: 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

Comments
 (0)