GithubHelp home page GithubHelp logo

ln-vortex / ln-vortex Goto Github PK

View Code? Open in Web Editor NEW
84.0 84.0 11.0 5.34 MB

Lightning and Taproot enabled collaborative transactions

Home Page: https://lnvortex.com

License: MIT License

Scala 96.69% JavaScript 2.07% CSS 0.55% Shell 0.69%
bitcoin bitcoin-s lightning scala

ln-vortex's Introduction

ln-vortex ln-vortex

Build Status codecov License: MIT

Vortex is a tool to allow users to open lightning channels in a collaborative transaction when using lnd and Core Lightning

Compatibility

Vortex is compatible with lnd version v0.15.4-beta and up & core lightning version v0.10.2.

Building from source

Scala/Java

You can choose to install the Scala toolchain with sdkman or coursier.

Sdkman

You can install sdkman here

Next you can install java and sbt with

sdk install java # not always needed
sdk install sbt

Coursier

If you don't like curl, you can use OS specific package managers to install coursier here

ln-vortex requires java9+ for development environments. If you do not have java9+ installed, you will not be able to build ln-vortex. You will run into this error if you are on java8 or lower

If you follow the coursier route, you can switch to a java11 version by running

cs java --jvm adopt:11 --setup

macOS install

brew install scala
brew install sbt

Running the client

Running the client can simply be done by running

sbt rpcServer/run

ln-vortex's People

Contributors

benthecarman avatar christewart avatar deregs avatar riccardomasutti avatar scala-steward avatar scalas-steward[bot] avatar suhailsaqan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

ln-vortex's Issues

Reconcile round does not work

Currently it creates 4 new rounds so the peers will receive the first round and not be able to autheticate for the resuling round the coorindator has

Flesh out docs

  • quick start
  • privacy principles
    • guarantees we give
    • taproot
  • config
    • lnd options
    • adding coordinators

When queueCoins fails, allow for retries

When queueing coins, if any error is returned (ex: "error": "Request failed: Unknown address type"), then the status of the round is getting updated to ReceivedNonce. This issue is relatively recent because I was able to retry queueing coins before.

The way around this issue now is to cancelcoins, although no coins are actually queued.

Amboss Magma integration

Could add the ability to sell a magma channel through vortex.

User would create an offer of the round amount, then once it is purchased they would queue up a channel open.

Could add in things like making sure the magma fee is higher the coordinator fee so the user always makes money. Or for remixes they can advertise a lower fee because there is no fee to open the channel

https://docs.amboss.space/api/magma/

"/<unresolved>" in peerAddrOpt

Might not be a real issue, but when queueing coins with a peer address and then calling getstatus, peerAddrOpt is formatted like:

"peerAddrOpt": "xyz.onion/<unresolved>:port"

Update docker-compose.yml file

Need to add the now deployed image of the gui. Also need to update the vortexd image and fix all the old env variables.

Rotate coordinator key

It is technically insecure to reuse the key infinitely when doing blind signing. We just need to rotate the public key every round to be safe

Run failing on mac: no main class detected

After following the setup process on mac, sbt gui/run is failing:

[error] java.lang.RuntimeException: No main class detected.
[error] 	at scala.sys.package$.error(package.scala:30)

However, sbt gui/compile succeeds.

Should mainClass be defined in the build file to resolve this?

Add I2P as tor alternative

Tor is becoming increasingly unreliable, I2P seems like a good alternative. Transient addresses should be used by peers for privacy between rounds and for alice & bob distinction

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.