|
|
@ -0,0 +1,32 @@ |
|
|
|
## A toy chain |
|
|
|
|
|
|
|
The chain should have these properties: |
|
|
|
|
|
|
|
- Running on at least 2 pre-defined nodes (IP addresses given in a config file / no additional discovery necessary)- |
|
|
|
- PoW, with every node a miner- |
|
|
|
- The difficulty is fixed (i.e., block time is not), each block rewards 100 coins- |
|
|
|
- ECDSA cryptography; addresses may be pure public keys- |
|
|
|
- Protect against double spending |
|
|
|
- Transactions can have additional data payload, signed by the sender (and there needs to be a way to set it) |
|
|
|
- Blocks can have additional data payload (and there needs to be a way to set it) |
|
|
|
- Implement a simple REST-like web service API which implements the following services and returns JSON data: |
|
|
|
* Query the block count. |
|
|
|
* Query a single block and return all its transaction data. |
|
|
|
* Query a single transaction and return all its data. |
|
|
|
* Create a transaction from JSON data and accept it for mining |
|
|
|
|
|
|
|
|
|
|
|
note: |
|
|
|
sensitive data are encrypted w/ git-crypt; |
|
|
|
please send your public key if you need access |
|
|
|
or ask for a shared DH secret |
|
|
|
|
|
|
|
|
|
|
|
decrypt can be done with the command : |
|
|
|
|
|
|
|
```sh |
|
|
|
export ASKPASS=ssh-askpass |
|
|
|
git-crypt unlock |
|
|
|
#gpg --decrypt local.key.asc | git-crypt unlock - |
|
|
|
|
|
|
|
``` |