1
0
Fork
You've already forked dumpling
0
serial experiments blockchain
  • Common Lisp 97.3%
  • Shell 1.6%
  • HTML 1.1%
Find a file
2021年11月05日 01:47:53 -04:00
www serve and load remote chains 2021年11月02日 19:57:00 -04:00
chain.json switch to json for (de)serialization 2021年11月02日 18:37:28 -04:00
dumpling.asd refactoring... 2021年11月04日 01:01:17 -04:00
dumpling.lisp improve node communication 2021年11月05日 01:46:40 -04:00
logo.png serve and load remote chains 2021年11月02日 19:57:00 -04:00
package.lisp initial stuff 2021年10月31日 22:35:46 -04:00
README.md update README again 2021年11月05日 01:47:53 -04:00
run-node improve node communication 2021年11月05日 01:46:40 -04:00

dumpling

Experiments with blockchain and coin stuff. Most of the initial code is adapted from this tutorial.

dumpling logo

What you can do with dumpling, as of <present day, present time>

You can use ./run-node CHAIN-FILE PORT PEER to run a mining node on http://localhost:PORT, saving a json representation of the chain in CHAIN-FILE and communicating with a single peer node, at the address PEER.

Right now, each node mines successive blocks, reports new blocks to its peer, and listens for new blocks from its peer. There are a few basic things that still need to be done:

  • actively storing new blocks in CHAIN-FILE
  • validating blocks from peers
  • synchronizing with peers (probably the hardest of these three)

A lot of those three things are partially implemented already, so feel free to take a look at dumpling.lisp if you're interested.

Finally, there are a few things I want to experiment with, once those aforementioned 'basic things' are implemented:

  • use https
  • try out alternatives to proof-of-work
  • improve consensus and synchronisation mechanisms (???)
  • use dumpling for (non-serious) NFTs, monetary transactions, or something else

License

GPLv3