You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Logan M. Renigar 685a048b2e re-release before system upgrade ! 12 months ago
_data library update (2fca6d5) on Wed Jun 30 10:48:03 PM CEST 2021 1 year ago
admin release it all 12 months ago
api release it all 12 months ago
bin release it all 12 months ago
docs release it all 12 months ago
images library update (d4c8a3d) on Thu Jul 1 06:00:38 AM CEST 2021 1 year ago
js library update (d1fd3ef) on Wed Jul 14 12:39:19 PM CEST 2021 12 months ago
lib@d1fd3ef3a8 release it all 12 months ago
nodes release it all 12 months ago
qmDict re-release before system upgrade ! 12 months ago
salts release it all 12 months ago
secrets re-release before system upgrade ! 12 months ago
t re-release before system upgrade ! 12 months ago
templ release it all 12 months ago
txpool release it all 12 months ago
.gitattributes release it all 12 months ago
.gitignore library update (d1fd3ef) on Wed Jul 14 12:39:19 PM CEST 2021 12 months ago
.gitmodules library update (84342cb) on Thu Jun 24 07:56:47 AM CEST 2021 1 year ago
INSTALL.md added an INSTALL .md file and misc... 1 year ago
README.md release it all 12 months ago
build.sh re-release before system upgrade ! 12 months ago
config.yml release it all 12 months ago
curltest.sh release it all 12 months ago
execution-notes.md added first files and design notes 1 year ago
init.sh added transaction signatures 1 year ago
install.sh library update (2fca6d5) on Wed Jun 30 10:48:03 PM CEST 2021 1 year ago
local.key.asc library update (d4c8a3d) on Thu Jul 1 06:00:38 AM CEST 2021 1 year ago
modules.deps added -w to perl testing.pl 1 year ago
post.sh added an INSTALL .md file and misc... 1 year ago
project.mbox added symetric key to unlock protected files 1 year ago
rc.sh setting PATH in rc.sh 1 year ago
style.css re-release before system upgrade ! 12 months ago
testapi.pl library update (2fca6d5) on Wed Jun 30 10:48:03 PM CEST 2021 1 year ago
testing.pl library update (2fca6d5) on Wed Jun 30 10:48:03 PM CEST 2021 1 year ago
webservice.md library update (d1fd3ef) on Wed Jul 14 12:39:19 PM CEST 2021 12 months ago

README.md

layout
simple

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:

Example of curl commands

# getting block count
curl http://127.0.0.1:8089/api/0.0/getheight
# getting 4th block
curl http://127.0.0.1:8089/api/0.0/getblock?n=4
# getting transaction Ztxrms5c5oKqb9Zof3xeC5Q2ZQjSaWv7FU4rAxe2s3sP
curl http://127.0.0.1:8089/api/0.0/gettx?txaddr=Ztxrms5c5oKqb9Zof3xeC5Q2ZQjSaWv7FU4rAxe2s3sP
# posting a transaction
cat txpool/tx.yml | sed -e "s/$/%0a/g" | curl -s -X POST http://127.0.0.1:8089/api/0.0/settx -d @-
# processing the txpool (mining)
curl http://127.0.0.1:8089/api/0.0/minepool

Security Warning

Blockchains are transparent and public so we encrypt private keys and other sensitive data, however as it is just a toy, we expose all the files for educational purpose.

** PLEASE DO NOT USE IN A PRODUCTION ENVIRONMENT **

note: sensitive data are encrypted w/ git-crypt; please send us your public key if you need access or ask for a shared DH secret

decrypt can be done with the command :

export GPG_ASKPASS=ssh-askpass
git-crypt unlock
#gpg --decrypt local.key.asc | git-crypt unlock -