diff --git a/.gitattributes b/.gitattributes index 358ff9b..284fc63 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,5 +2,5 @@ *.sec* filter=git-crypt diff=git-crypt *.key* filter=git-crypt diff=git-crypt secrets/** filter=git-crypt diff=git-crypt -local.key.asc !filter !diff +*.asc !filter !diff .gitattributes !filter !diff diff --git a/README.md b/README.md new file mode 100644 index 0000000..cd70bec --- /dev/null +++ b/README.md @@ -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 - + + ```