Skip to content

PublicLedger

Jörg Hohwiller edited this page Feb 13, 2019 · 4 revisions

Public Ledger

A key concept of most crypto-currencies is to have the ledger with all values and transactions public and visible for everyone. All the data is stored redundantly on multiple computer nodes around the world. The public ledger of ThankToken is composed of the following data:

Partitioning

This public ledger data of ThankToken is partitioned by version, algorithm, currency, age, and location. Therefore, you can contribute a node e.g. only for your region that you want to support. This massively reduces the size of the data you need to process and makes the system more scaleable.

A node that only wants to participate for data from the region 9F2C4M (Frankfurt, Germany), for tokens of version v002 or higher with the algorithm c22519 or s256k1 that have been created after 31th of January 2020 would use to following configuration:

{
  "location":{"val":"9F2C4M"},
  "version":{"min":"v2"},
  "algorithm":{"list":["c25519","s256k1"]}
  "timestamp":{"min":"20200131"}
}

API

The API of the ThankToken nodes has the following scheme:

https://«hostname»/«http-verb»/«version»/«algorithm»/«location»/«entity»/«details»
Table 1. Segments of REST API
Segment Description Example

«hostname»

DNS name or IP of the server

thanks.net

«http-verb»

GET for "static" reading, POST for dynamic requests

GET

«version»

The ThankVersion

v2

«algorithm»

The ThankAlgorithm

s256k1

«location»

The path of the ThankLocation, typically «sector»/«area»/«region»

87/G7/MX

«entity»

The requested object type.

token

«detail»

The further API path

Thanks/2020/01/31/

Get Token

https://«hostname»/GET/«version»/«algorithm»/«location»/token/«currency»/«timestamp»/«object»
Table 2. Specific segments of GET token
Segment Description Example

«currency»

The requested currency.

Thanks

«timestamp»

The creation timestamp from the token header in the form «YYYY»/«dd»/«mm»

2020/01/31/

Clone this wiki locally