Coder Social home page Coder Social logo

hkjn / lnhw Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 5.0 6.47 MB

Chainlab 2018 hackathon project for a LN hardware wallet.

License: Apache License 2.0

C 47.65% C++ 18.84% JavaScript 24.90% HTML 1.09% CSS 6.44% Python 0.70% Shell 0.13% Dockerfile 0.26%

lnhw's People

Contributors

akhilesharora avatar dependabot[bot] avatar gustavorssilva avatar hkjn avatar ifo0 avatar jonathancross avatar justinmoon avatar michaelfolkson avatar stepansnigirev avatar stephaniestroka avatar svanstaa avatar thecharlatan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lnhw's Issues

Create a simple docker regtest environment

One of our biggest problems during the hackathon was getting real c-lightning data as we waited for our bitcoind and c-lightning testnet nodes to finish syncing.

I propose we use something like https://github.com/PierreRochard/bitcoin-lightning-docker to create a dockerized bitcoind / c-lightning test environment running on regtest. This way we wouldn't have to deal with testnet annoyances like coin faucets or syncing testnet's 15gb chain.

The project I linked above uses lnd. I plan to add c-lightning soon. This would probably be sufficient for UI developers. Next we would have to add some ability to use a c-lighting fork, instead.

Decide on ui <-> client API

I'm filing an issue to remind ourselves that we need to settle on an API between the ui layer and client layer.

On ui side, @superquest and friends have started with https://github.com/hkjn/lnhw/blob/master/ui/sdk.js to stub out the interactions they believe are needed for ui to fetch data from client to find out about the c-lightning state, as well as for ui to tell client to take an action, e.g. sending a BOLT11 invoice.

Some options:

  1. Use lightning-cli, with a ui-side backend that receives HTTP requests from the client-side code, and translates them into lightning-cli commands
  2. Build a small HTTP backend on client side, similar to the https://github.com/hkjn/lnmon/blob/master/lnmon.go tool which wraps lightning-cli to provide the data that is shown on the https://ln.hkjn.me web server + prometheus monitoring target

write Arduino IDE installation guide for Linux

As we found out, it's extremely annoying to set up Arduino IDE on Linux. If anyone remembers what we did to make it work, it would be really helpful to write a small guide on how to fix permission problems.

Decide on client <-> hardware wallet API

I'm filing a ticket to track our discussions to date about settling on an API between client and hardware layers.

Our current thinking is to initiate communication from the client layer, and use the serial port to send text-encoded requests to the hardware layer, which will return similarly text-encoded responses.

The responses might be delayed until the UI on the hardware side has gotten confirmation that the user wants to take a certain action.

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.