Comments (5)
Updates from 20.12.09 call:
- asset identifiers will be encoded in
bech32
from the next lnpbp core library release, so the related issue will be solved rather automatically at that point - nodeid is currently not exposed by the Noise-related part of lnpbp core library API, this will be done with the next release (either
0.2.[1+]
or0.3
)
As a result, the best approach is probably to close this issue with a PR that addresses the lesser issue that I already solved and open a new one to just keep track of the missing points and point to the right info until lnpbp core library is released.
from lnp-node.
bugs 1-4 were solved by #32
bug 5 is waiting for an update in rust-lnpbp and has a dedicated issue #33
bug 6-7 are linked to each other and are waiting for an update in rust-lnpbp, here is the dedicated issue #34
from lnp-node.
I figured that asset transfer fails because of endianess inconsistency between input and output data, so I'll update it in the issue description.
In fact:
- After step 6, the cli logs:
adding 100 of 883926d7f25d99298a1c7b4fbd019df21d1d24a2bbfb63adacbc115f6b48d627 to balance
and the same asset_id is shown in theasset
field in the output oflnp-cli info <temp_channel_id>
. - This call fails:
lnp1-cli transfer --asset 883926d7f25d99298a1c7b4fbd019df21d1d24a2bbfb63adacbc115f6b48d627 <temp_channel_id> 10
- This call succeeds:
lnp1-cli transfer --asset 27d6486b5f11bcacad63fbbba2241d1df29d01bd4f7b1c8a29995df2d7263988 <temp_channel_id> 10
from lnp-node.
I'm stuggling a bit with the 7th point. From what i can see, remote_id
is never set in src/bin/peerd.rs
for the peer that receives the connection and in fact from the pov of A, a lnp-cli info <peer>
returns an empty list for remote_id
. However, it's still not clear to me how A gets to show its own nodeid
in the list of peers, my best bet points at how id
is assigned at line 203 in peerd.rs
(b901fb0), since it contains local_node
as nodeid
.
I have the feeling that at that point in the workflow the remote nodeid
is not yet available and it should be set later on, but I can't figure out where to get it from nor where it should be set in order to solve the issue. Any help on this is very well appreciated.
EDIT: after another debugging session I figured that initiator's nodeid is available at the end of the noise protocol to the receiver. I still don't understand where precisely in code the noise protocol gets executed between peers and so how to retrieve initiator nodeid from that.
from lnp-node.
As for asset identifiers, I have the feeling that the cleanest possible solution would be to switch everything over to bech32
encoding, also for consistency with rgb-node. This could be obtained by having the rgb-node Asset
api return a bech32
encoded string or by implementing a the conversion between hex
and bech32
encodings in lnpbp::bp::chain::AssetId
. Am I right?
from lnp-node.
Related Issues (20)
- `lnp-cli create` hangs after channel creation HOT 2
- a call to `connect` hangs and peerd logs "invalid nodeid" HOT 10
- asset identifier confusion HOT 1
- node receiving a connection does not know initiator's nodeid
- Update configure_me to 0.4
- Failed to build demo Docker image HOT 1
- No matching package named `lnp-core` found when building docker image HOT 4
- Cargo test command failing HOT 2
- Use configure_me for storing persistent configuration options
- Use `ln-types` crate? HOT 8
- Tracking: full LN interoperability
- Tracking: node operations
- lnp-node address not have regtest prefix 'bcrt' HOT 2
- Connection handshake failure for TCP connections HOT 4
- Panic starting node 'Unable to open key file' HOT 2
- Use AddressCompat instead of rust-bitcoin Address to display address
- Bolt Review + Universal Invoice + Bifrost HOT 1
- private or changing IP address considerations HOT 1
- Unknown Transport Protocol
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 lnp-node.