Transaction documentation
A transaction request between source and target to move amount Gradecoin.
Requests
GET
A HTTP GET request to /transaction endpoint will return the current list of pending transactions.
POST
A HTTP POST request with Authorization using JWT to /transaction will allow you to propose your own transactions.
Fields
source: Fingerprint
target: Fingerprint
amount: unsigned 16 bit integer
timestamp: ISO 8601 <date>T<time>
Hash
tha field in jwt documentation in fact stands for "The Hash".
In the context of a transaction proposal, you need the Md5 hash of the serialized JSON representation of transaction.
Since there are many ways to convert an object to JSON, we enforce the following rules (alongside the regular rules of JSON syntax) for consistency:
- There shouldn't be any whitespace or newlines in the serialized string.
- The order of fields should be exactly as shown above.
- All keys and string values must be enclosed with quotation marks (").
Here's an example on how your JSON string should look like:
{"source":"bar","target":"baz","amount":2,"timestamp":"2021-04-18T21:49:00"}
Transaction Rules
- Transactions should be sent from your account (source) to any other account (target).
- You cannot create multiple transactions with the same source/targetpair.
- Transactions generate traffic which is something we desperately need in Gradecoin, so for every transaction you send, some Gradecoin will be generated out of thin air and will appear on your account.
- The amount of Gradecoin that will be generated is given by tx_traffic_rewardfield of/config.
- For example, if tx_traffic_rewardis 1, and you send 2 coins, only 1 coin will be deduced from your account since you will be given 1 coin for generating traffic. The target will receive 2 coins.
 
- The amount of Gradecoin that will be generated is given by 
- On the other hand, transactions have to be processed which requires valuable CPU power. So, an amount named tx_gas_feeof/configis deducted from the user on every transaction proposal to cover the cost.
- Don't worry if your transaction goes unaccepted! Transactions do not disappear until they are committed into the ledger with a block.
- Every transaction has a unique ID generated using the source,targetandtimestampfields.
- Transactions have a lower and upper amount limit.
 Gradecoin
        Gradecoin