Second edition of Project Babbage, create a blockchain from scratch.
Project description
Babbagecoin
An understandable proof of work blockchain.
Visit our web page for a nice general overview of the project !
Quickly run a node !
pip install --user babbagecoin
python -m babbagecoin master
# then in another terminal:
python -m babbagecoin miner
For development
Requirements
Install docker
and docker-compose
, python3
(>=3.9) and poetry
.
Run poetry install
then poetry shell
Launch
Run the node (master + miner):
make
Stop the node properly:
make stop
--> to stop all containers if you didn't stopped them properly (if you did two Ctrl+C in a row)
Or you can run separately the master or miner:
make (master | miner)
There are also VSCode actions for debugging each one of them (even the tests, run in terminal with make test
)
Interact with the blockchain
!! Important
Configure your blockchain by creating a .env
file on the same model as what's in .env.example
.
The wallet will generate a private key for you, save it to private.key.<CURRENT_USER>, and reuse it afterward. A public key is derived from this private key. The hash of the public key is your address, for example e93417c7 (the first 8 characters). The wallet is managing only one private key at the time.
Transactions
Use the bbc.sh
script (chmod +x
it first):
./bbc.sh tx MARTIAL 10 0.3
--> sending 10BBC with 0.5BBC fees to MARTIAL
make tx
is a shortcut for the above command
Balance
./bbc.sh balance
to get your wallet balance
make balance
is a shortcut for the above command
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for babbagecoin-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c15baecd92067bbb3837b1ba5f833e1b956bf2cb3f6a359583a4c187bb956b55 |
|
MD5 | 02d354f466232dd3e052766cb2998175 |
|
BLAKE2b-256 | 54ed5ab302e104dd6ee15e055ba647020bb895b78084aec4468775d65056e94e |