Comments (7)
Hi @kopnin,
Do you want to use Interledger with an existing ledger you have or do you want to run the full "five-bells" reference implementation stack? To see most of the reference components working together I'd recommend checking out the five-bells-demo
.
Here's a brief rundown of the full stack:
five-bells-wallet-client
is a high level client for sending payments via the walletfive-bells-wallet
is what you see at red.ilpdemo.org and blue.ilpdemo.org. It's a layer on top of the ledger and the core Interledger Protocol that adds UI and a number of additional features deliberately left out of core ILP.js-ilp
is a low-level client for interacting directly with ILP.js-ilp-core
is used byjs-ilp
and will be used by the connector. It includes key ILP functionality, like interfacing with the ledger plugins (e.g.ilp-plugin-bells
) but you probably won't need to use it directly.five-bells-connector
is an implementation of a connector one could run to enable interledger payments across two ledgersfive-bells-ledger
is a reference implementation of a basic ledger that supports all of the Interledger transport protocols. If you want to get Interledger set up on your own you could either run this ledger (and the client and sender would use theilp-plugin-bells
to connect to it) or you could run your own type of ledger and write a new ledger plugin (e.g.ilp-plugin-bells
) for it.five-bells-demo
spins up a network of ledgers and connectors on your machine and has a visualization running on top of them to illustrate the flow of ILP payments.
from five-bells-ledger.
Thanks!
Yes, I want to run the full "five-bells" reference implementation stack. And I would like to connect to my Blockchain.
You mentioned about possibility to use the Blockchain protocols . In this case I don't need to use five-bells-ledger, isn't it? Does Blockchain is used as a Ledger Layer in this case?
Also, you wrote that connectors work with Ledger layer via js-ilp-core. Does it means that I need to implement ledger plugin for my Blockchain and configure five-bells-connector to work over my plugin?
Regarding five-bells-demo: Thanks for recommendation! I looked into the code and found that it use five_bells_sender to submit transaction. My assumption was that I should use five-bells-ledger (SLP) to transfer assets, what is the five_bells_sender?
from five-bells-ledger.
Correct, you don't need the five-bells-ledger
. To support your blockchain you'll need to implement a ledger plugin for it. We're in the process of refactoring the connector and sending/receiving client to work out of the box with new ledger plugins.
The five-bells-sender
is the sending client we've been using to initiate payments. It still assumes it's talking to a five-bells-ledger
. We're working on the js-ilp
client, which uses the js-ilp-core
, which will be able to use any ledger plugin that exposes that interface. This isn't quite done but it'll be done within the next couple of weeks.
Note that the wallet assumes it's talking to a five-bells-ledger
and I'm not sure if we're going to adapt that to different kinds of ledgers, since it's primarily meant for demos.
from five-bells-ledger.
I'm not sure if we're going to adapt that to different kinds of ledgers
Probably not. A wallet is very tightly integrated with its underlying ledger and uses many more features than ledger plugins provide (create account, view history, etc.), so if we made a wallet for another ledger we'd likely fork five-bells-wallet rather than try to keep support for multiple ledgers in one codebase.
The easiest way to get an interledger enabled wallet for another ledger would be to add support into an existing wallet app. So for Bitcoin it could be added to Webcoin for instance.
from five-bells-ledger.
Thanks, Evan and Stefan!
Wallet it's just a high level application. Sample wallet is good for demonstration reason. Normally, we have to design a new application (or integrate to existing app as said Stefan).
Regarding to five-bells-sender - do you recommend to use this abstraction layer to submit payments, or I should work directly with my ledger? Do you have plans to do sender as universal payment framework (to work via any ledger plugin)?
Let me summarize, please:
In my case I need
- Implement ledger plugin
- In nearest future, connectors will work with any ledger plugin implementation. But at this moment I can not to connect it to my own ledger plugin. (Looks like a blocker)
- Implement high level application to operate with payments (similar with five-bells-wallet)
- Adopt five-bells-sender to my ledger to submit payments.
- Receive payments via ledger plugin
from five-bells-ledger.
We're working on an ILP client that will use the same ledger plugin framework as the connector, which you would use to send and receive payments. You're right that the client and connectors working with different ledger plugin is a blocker -- this is the top of our priority list right now. In any case, it may be worth starting on the ledger plugin because the client and connector should be ready to use it within a week or two.
from five-bells-ledger.
Cool! Thanks for answers.
Looking forward for any updates.
from five-bells-ledger.
Related Issues (20)
- sqlite in-memory database disappears and ledger crashes HOT 3
- Error class handlers and logger print (unexpected) errors in Websocket middleware
- Provide a way for database migrations
- Descriptive error message if a recommended connector account does not exist
- When creating/updating an account, check that the id field of the account matches the request URL
- Error in docs for SendMessage
- Should not be able to set balance manually HOT 2
- URLs returned in meta-data should use proper RFC6570 URL Templates HOT 4
- Duplicate notifications when sender and receiver of a transfer are the same
- Ledger should ping websocket connections every n seconds HOT 1
- websocket: multiple events for the same transfer
- Websockets cannot connect HOT 4
- Don't return 500 errors for "could not serialize access due to concurrent update" HOT 1
- InvalidUriParameterError includs sensitive info
- Query fails due to SQLITE_BUSY error HOT 3
- 'Insufficient funds' error when doing multiple transfers at once HOT 3
- Announce API version in ledgerUri endpoint HOT 1
- executed_at can be after expired_at
- Env. Variable LEDGER_LOG_LEVEL has no effect
- Not able to access ledger Unauthorized error HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from five-bells-ledger.