GithubHelp home page GithubHelp logo

azle-api-rest-ckbtc's Introduction

Azle REST API with ckBTC Integration

This boilerplate is designed to easily build ExpressJS applications usin ckBTC (a Bitcoin pair) on ICP.

Features

  • Build REST API on chain
  • Work with SQL databases
  • Persist database on chain
  • Make ckBTC transactions

Run Locally

Clone the project

  git clone https://github.com/adrian-d-hidalgo/azle-api-rest-ckbtc

Go to the project directory

  cd azle-api-rest-ckbtc

Install dependencies

  npm install
# only for mac
codesign -s - .bitcoin/bin/bitcoind
npm run btc:start

In another terminal run:

npm run icp:start

Open another terminal and run:

npm run icp:deploy:local

How to mint ckBTC

Run the following command:

# only for mac
codesign -s - .bitcoin/bin/bitcoin-cli
npm run btc:mint --address=$ADDRESS

After minting, call the endpoint PUT /users/:userId/balance to update the account balance.

Then, you can verify the account balance in this endpoint: GET /users/:userId/balance

azle-api-rest-ckbtc's People

Contributors

adrian-d-hidalgo avatar

Watchers

 avatar

azle-api-rest-ckbtc's Issues

Best Practices for Generating Principals in Express-Azle

I am currently working on an Express.js application that integrates with Internet Computer Protocol (ICP) using the Azle framework. In the process of building my application, I've come across the need to generate new Principals for users.

But I still confuse and see your repository azle-api-rest-ckbtc noticed that the generateId() function in your codebase generates random bytes to create a new Principal. However, I am concerned that this method may not align with the best practices recommended by DFINITY, especially in terms of security and validity.

Could you please provide guidance or point me to the relevant documentation on the best practices for generating Principals within an Express.js application using Azle? I want to ensure that the Principals generated are both secure and compatible with the ICP network.

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.