Skip to content

Latest commit

 

History

History
75 lines (60 loc) · 2.04 KB

README.md

File metadata and controls

75 lines (60 loc) · 2.04 KB

WALL•E

Wall•E is a Bitcoin Wallet written in Zig.

WARNING: This is just an attempt to learn Bitcoin and Zig. Do not use this project with real BTC.

Run

Run src/main.zig

zig build run

Run src/p.zig (used for debugging)

zig build run-p

Testing

zig build test
zig build test --summary all -- src/bip39/bip39.zig src/bip38/bip38.zig

Dev Environment

See devbox.json

devbox shell

Bitcoin Node

Use Dockerfile to run bitcoin node using bitcoin-core. node/bitcoin.conf can be used as bitcoin config to run regtest with rpcuser walle and pwd password.

docker build -t btcnode .
docker volume create btcnode
docker run --rm --name btcnode -v btcnode:/bitcoin-25.0/data -p 18444:18443 btcnode

For mac users use this code to build docker image.

docker build -t btcnode -f Dockerfile.arm .

The first time you run the node you need to create a new wallet (it is no longer created automatically, if the walle was already created use loadwallet) then you can getnewaddress.

bitcoin-cli -rpcuser=walle -rpcpassword=password -rpcport=18443 createwallet walle
bitcoin-cli -rpcuser=walle -rpcpassword=password -rpcport=18443 getnewaddress

Test bitcoin node from outside container:

curl --verbose -L --user walle --data-binary '{"jsonrpc": "1.0", "id": "walle", "method": "getblockchaininfo", "params": []}' -H 'content-type: text/plain;' 0.0.0.0:18444

Contributing

Join WALL•E's Discord channel to chat with the contributors and understand next steps, available tasks and bugs to be fixed.

TODO