GithubHelp home page GithubHelp logo

richarddushime / bitcoin-bank Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 2.0 27.52 MB

Bitcoin Bank Project Repository

Rust 57.64% CSS 0.22% TypeScript 20.02% JavaScript 1.83% HTML 0.98% Vue 19.31%
bank bitcoin btc btrust wallet

bitcoin-bank's Introduction

Bitcoin Bank Project

This guide provides step-by-step instructions on how to run the Bitcoin Bank project.

For more information about the project, read the Design Document.

Prerequisites

Before running the project, make sure you have the following prerequisites installed on your system:

Steps to Run the Project

1. Fork and Clone the Project:

Fork the project repository on GitHub by clicking the "Fork" button at the top right corner of the repository page. Then, clone the forked repository to your local machine using the following command:

git clone https://github.com/<your-username>/Bitcoin-bank.git

2. Navigate to the Project Directory:

Once the project is cloned, navigate to the project directory using the cd command:

cd Bitcoin-bank

Note:This project consists of 2 modules client(frontend) and backend,

3. Running the binaries

The service requires bitcoind and bitcoin-cli to installed. To run the binary, pass the config file which configures the bitcoin daemons for the mining node (node that consistently generates blocks), hot walled node and cold wallet node. The example config file can be found in the backend/btc_conf.toml file.

The binary checks for the home directory of your specific platform and uses that to create the data directory for the bitcoind for the nodes as follows:

UserHomeDir
  |-- bitcoin-bank-data #Application directory 
          |-- mining-node # Mining node data directory
          |-- hot-node # Hot wallet node data directory
          |-- cold-node # Cold wallet node data directory

To run the binary with the default config file

$ cd ./backend

$ cargo run -- ./btc_conf.toml

Explore the Frontend:

Navigate to the frontend directory and follow the instructions provided in the README file located there.

cd client

Access the Application:

Once the project is running, you can access the application by opening a web browser and navigating to the appropriate URL.

bitcoin-bank's People

Contributors

448-og avatar richarddushime avatar itorod avatar rockcoolsaint avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

bitcoin-bank's Issues

Initialize Rust Project

Set up the initial Rust project structure for the backend

Tasks:

  • Create a new Rust project.
  • Configure project dependencies and settings.

Create request handlers

The frontend needs to communicate with the backend so we need request handlers

  • Handle login
  • User can withdraw to an external wallet
  • User can view balance
  • User can receive from external wallet

Private Keys

Get the private keys to sign a transaction using bitcoin-cli

Storage

Create a simple key value store to persist state using sled.rs

PSBT

Create code to handle Partially Signed Bitcoin Transactions

Set up Routing for API Endpoints

set the API endpoints

Tasks:

  • Define routes for different API endpoints (e.g., login, balance).
  • Implement request handlers for each route.

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.