A simple cryptocurrency implementation based on a proof-of-work blockchain, written in C.
ImpCoin uses nng for its network layer, binn for serialising / deserialising, and libsodium for hashing.
To get started, install the libraries according to the instructions in the linked repos. After this, run
$ make all
$ ./address_nodeThis will build the project, and start the address_node, which allows the nodes on the network to communicate. Unfortunately, ImpCoin isn't fully decentralised (yet).
Then, you can start up nodes like so:
$ ./nodeYou will be prompted to enter a username and port number. Make sure not to use 127.0.0.1:8000, as the address_node uses it by default.
After starting up a node, you can use these commands:
Imp> t - to make a transaction
Imp> m - to start mining
Imp> p bc - to print your local blockchain
Imp> p latest_block - to print the latest block on your local blockchain
Imp> p mempool - to print your local mempool (list of pending transactions)
Imp> q - to quit