GithubHelp home page GithubHelp logo

walle's Introduction

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

Lib

External libraries such as base58 and clap are installed as git submodule and added to build.zig

Dev Environment

See devbox.json

devbox shell

Ensure that you installed the submodule by:

git submodule update --init

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

walle's People

Contributors

iskyd avatar matteo-gobbo avatar vallops99 avatar

Stargazers

MarcoMazzoni avatar Matteo Piacentini avatar Artem avatar Ryan avatar  avatar Jacopo Careddu avatar  avatar daddinuz avatar RiskPill avatar Famuyiwa Dayo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.