which jar is the channels node one?
did my usual and did not end up with a jar which looks plausible ```#!/usr/bin/env bash bazel clean for target in $(grep name BUILD | cut -d'"' -f2) do jar_name="$target"_deploy.jar bazel build ":$jar_name" mv bazel-bin/"$jar_name" "$jar_name" done # EOF```
Did you do this in the channels repo?
oh, separate repo
bazel build :ChannelNode_deploy.jar :ChannelIceLeaf_deploy.jar
Node only and GUI respectively
meh, i have my bash thingy
sure, it was just the easiest way to convey the information
is the documentation in the wiki?
i assume that thing wants some documentation
and needs a TCP port open, or somesuch
for the node without gui?
just the node
config/node.conf is an example
not documented in the wiki yet, I am driving most people towards the GUI
how does the channel list work as a list?
and those ports seem client oriented - how do i only take part in the hosting?
where does it look for the node.conf per default?
same as all of my other things, it expects the config file to be the first command line parameter
ah yes
yeah, for just hosting you can remove web and socks ports
the channel list takes a comma separated list
however, when you add something once it puts into a table and will resubscribe on restart even if it is no longer in the config
port= is the network port
I left it off, there is a default
it will autodetect ipv4 ipv6 and upnp
why does it need a wallet?
So all communication between nodes is done using TLS
which is signed by the keys of the node
kk
so it needs a wallet to store the node key
can it make me one?
it will
it makes a wallet with only one key
if it gets a wallet with more than one key, it breaks
ipv6 only?
works fine on ipv4
I have a seed node on both
it will try to map an UPNP port if it can
took a while to figure out ipv4
no upnp anywhere near my stuff
probably for the best
```Nov 27, 2019 9:21:57 PM snowblossom.channels.ChannelNode <init> INFO: My node address is: node:ut58s0rxxtyqe8u3c695xt59drxxf7vspz79p60a```
well, it's done a thing now
yeah, it will join up with the DHT
so how do i make it be helpful too?
if you are willing to have it be on a hostname or ip that I can put in the source code, it would be good to have an additional seed
hostname, ipv4 and ipv6, sure
other than that, it is already being a useful member of the DHT assuming it can get incoming connections
do i need to expose the port?
yeah
you can change the port if you'd like
meh, default ports are usually fine
The cool thing is that we hard code the key IDs of the seeds, so that communication is actually proper TLS with a validated cert
and then later peers that are learned always come with a key ID
so all communication always knows what key to expect so it is all validated certs for the entire network
could i also just use a real cert?
or is that a permanent self signed thing?
no, I am doing some strange things. Signing the cert with the node key and putting that in x509 extension metadata
kk
The cert itself is actually one per runtime, just signed with the static node key
where does it store that?
as in i need to add that to a higher degree of a backup scheme now
and `4862` is the port?
only non-IANA i have something listening on
the wallet path is where it keeps the node key
and yeah, should be backed up. :wink:
gotcha, will just backup that wallet
4862, yep
i'll briefly take it down to make it a systemd service instead of just directly running it
sure
up, persistent, and manages its own firewall and other resources within bounds
now, how do i make it host your stuff, by listing channels in the config?
yeah, for now.
Eventually I'll probably add an authenticated local-only rpc port like SnowBlossomClient
how do i list more than one channel? the example config does not show or hint
comma separeted
channel_list=a,b,c
gotcha
which channels do you have?
They can also be via name: channel_list=hello,worstchat,chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl,testblog
i think in hello, worstchat and testblog i have very little interest
what's that unnamed one?
I can't remember
i thought you had the site at least?
or is that hello?
hello is the test site that just says "good job, it works"
chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl is the clone of http://snowblossom.org
i remember noting two worthy of hosting
that is definitely the other
do you somehow dump the wiki too?
no, not yet
code repositories?
if i am to believe past me https://snowblossom.slack.com/archives/CAT1SNYDV/p1574016252044400 repos and the main site i’m on board for
oh well, for now, the site
awesome. Having an additional seed I can put in is super helpful.
poke me if the firewall becomes a hedgehog
the service autodiscovery fabric is fickle sometimes
is that node address also a valid snowblossom address?
yes and no. The client will tell you it is invalid, because 'node' isn't right
and if you change 'node' to 'snow' or leave it off, it will still fail
because the type is encoded in the checksum
that's nice, was thinking people can start to donate to those, and minimizing tears is nice
kk
but if you were to reencode it to fix the checksum, you could send funds to it and then spend them using the wallet on your node
very good
meh
the channel db already uses 300M disk
i suppose that's just the schema or something silly like that :stuck_out_tongue:
probably
seems to be a picky eater too `INFO: I don't want chunk: a5a3ffb8a3656327a8707f7260c893e2b4984fd8722aa533b37453d5687258f4`
yeah...the chunk syncronization is not perfect. It ends up asking a bunch of peers for things, sometimes the same things and then saving whatever it gets first.
designing for idempotency is nice
allows for such
right
mrplow takes a surprising amount of cpu, even though it's not doing anything
that is strange
the node has used 17min cpu time in the same time as it has burnt through 45min cpu time
this is over a few weeks
i'd assume the node to actually do more of those two, as no one is mining on my pool
yeah, and in fact the node has to do the hard part which is building the new block templates for the pool to distribute
probably missing an interrupt-esque sleep somewhere
overeager networking or somesuch
oh yeah, you probably want to point your channels node at your snowblossom node: node_uri=,,
If you leave it blank, it used built in snowblossom seed nodes
gotcha, done
oh, you init a new rocksdb per channel, simple enough
yeah, will have to add quota management and ability to nuke a channel from disk later
should work and you've not done something silly in regards to binding only to specific interfaces, excluding localhost?
yeah, that should be fine
hardcoded, classy
absolutely
It is a little verbose with all the protobuf baggage, but I prefer that than making my own format and parsing it
fair
however, I guess I did make a format for the uri
eh
ping me if you try to put any other project useful channels out
will do