2019-11-27 21:07:15
which jar is the channels node one?
Rotonen
2019-11-27 21:07:43
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```
Rotonen
2019-11-27 21:11:08
Did you do this in the channels repo?
Fireduck
2019-11-27 21:11:22
oh, separate repo
Rotonen
2019-11-27 21:12:04
bazel build :ChannelNode_deploy.jar :ChannelIceLeaf_deploy.jar
Fireduck
2019-11-27 21:12:22
Node only and GUI respectively
Fireduck
2019-11-27 21:12:53
meh, i have my bash thingy
Rotonen
2019-11-27 21:13:23
sure, it was just the easiest way to convey the information
Fireduck
2019-11-27 21:13:52
is the documentation in the wiki?
Rotonen
2019-11-27 21:14:04
i assume that thing wants some documentation
Rotonen
2019-11-27 21:14:12
and needs a TCP port open, or somesuch
Rotonen
2019-11-27 21:14:18
for the node without gui?
Fireduck
2019-11-27 21:14:24
just the node
Rotonen
2019-11-27 21:15:06
config/node.conf is an example
Fireduck
2019-11-27 21:15:25
not documented in the wiki yet, I am driving most people towards the GUI
Fireduck
2019-11-27 21:15:44
how does the channel list work as a list?
Rotonen
2019-11-27 21:16:19
and those ports seem client oriented - how do i only take part in the hosting?
Rotonen
2019-11-27 21:17:09
where does it look for the node.conf per default?
Rotonen
2019-11-27 21:18:22
same as all of my other things, it expects the config file to be the first command line parameter
Fireduck
2019-11-27 21:18:39
ah yes
Rotonen
2019-11-27 21:18:55
yeah, for just hosting you can remove web and socks ports
Fireduck
2019-11-27 21:19:06
the channel list takes a comma separated list
Fireduck
2019-11-27 21:19:35
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
Fireduck
2019-11-27 21:20:10
port= is the network port
Fireduck
2019-11-27 21:20:14
I left it off, there is a default
Fireduck
2019-11-27 21:20:27
it will autodetect ipv4 ipv6 and upnp
Fireduck
2019-11-27 21:20:39
why does it need a wallet?
Rotonen
2019-11-27 21:20:54
So all communication between nodes is done using TLS
Fireduck
2019-11-27 21:21:04
which is signed by the keys of the node
Fireduck
2019-11-27 21:21:08
kk
Rotonen
2019-11-27 21:21:09
so it needs a wallet to store the node key
Fireduck
2019-11-27 21:21:12
can it make me one?
Rotonen
2019-11-27 21:21:17
it will
Fireduck
2019-11-27 21:21:30
it makes a wallet with only one key
Fireduck
2019-11-27 21:21:37
if it gets a wallet with more than one key, it breaks
Fireduck
2019-11-27 21:21:57
ipv6 only?
Rotonen
2019-11-27 21:22:14
works fine on ipv4
Fireduck
2019-11-27 21:22:20
I have a seed node on both
Fireduck
2019-11-27 21:22:31
it will try to map an UPNP port if it can
Fireduck
2019-11-27 21:22:42
took a while to figure out ipv4
Rotonen
2019-11-27 21:22:53
no upnp anywhere near my stuff
Rotonen
2019-11-27 21:23:07
probably for the best
Fireduck
2019-11-27 21:23:11
```Nov 27, 2019 9:21:57 PM snowblossom.channels.ChannelNode <init>
INFO: My node address is: node:ut58s0rxxtyqe8u3c695xt59drxxf7vspz79p60a```
Rotonen
2019-11-27 21:23:16
well, it's done a thing now
Rotonen
2019-11-27 21:23:29
yeah, it will join up with the DHT
Fireduck
2019-11-27 21:23:48
so how do i make it be helpful too?
Rotonen
2019-11-27 21:24:24
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
Fireduck
2019-11-27 21:24:41
hostname, ipv4 and ipv6, sure
Rotonen
2019-11-27 21:24:45
other than that, it is already being a useful member of the DHT assuming it can get incoming connections
Fireduck
2019-11-27 21:24:49
do i need to expose the port?
Rotonen
2019-11-27 21:24:53
yeah
Fireduck
2019-11-27 21:25:00
you can change the port if you'd like
Fireduck
2019-11-27 21:25:08
meh, default ports are usually fine
Rotonen
2019-11-27 21:25:41
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
Fireduck
2019-11-27 21:25:51
and then later peers that are learned always come with a key ID
Fireduck
2019-11-27 21:26:09
so all communication always knows what key to expect so it is all validated certs for the entire network
Fireduck
2019-11-27 21:26:18
could i also just use a real cert?
Rotonen
2019-11-27 21:26:33
or is that a permanent self signed thing?
Rotonen
2019-11-27 21:26:50
no, I am doing some strange things. Signing the cert with the node key and putting that in x509 extension metadata
Fireduck
2019-11-27 21:26:57
kk
Rotonen
2019-11-27 21:27:09
The cert itself is actually one per runtime, just signed with the static node key
Fireduck
2019-11-27 21:27:35
where does it store that?
Rotonen
2019-11-27 21:27:47
as in i need to add that to a higher degree of a backup scheme now
Rotonen
2019-11-27 21:29:13
and `4862` is the port?
Rotonen
2019-11-27 21:29:21
only non-IANA i have something listening on
Rotonen
2019-11-27 21:29:35
the wallet path is where it keeps the node key
Fireduck
2019-11-27 21:29:44
and yeah, should be backed up. :wink:
Fireduck
2019-11-27 21:29:47
gotcha, will just backup that wallet
Rotonen
2019-11-27 21:29:54
4862, yep
Fireduck
2019-11-27 21:33:13
i'll briefly take it down to make it a systemd service instead of just directly running it
Rotonen
2019-11-27 21:34:03
sure
Fireduck
2019-11-27 21:34:58
up, persistent, and manages its own firewall and other resources within bounds
Rotonen
2019-11-27 21:35:37
now, how do i make it host your stuff, by listing channels in the config?
Rotonen
2019-11-27 21:36:07
yeah, for now.
Fireduck
2019-11-27 21:36:23
Eventually I'll probably add an authenticated local-only rpc port like SnowBlossomClient
Fireduck
2019-11-27 21:36:59
how do i list more than one channel? the example config does not show or hint
Rotonen
2019-11-27 21:37:12
comma separeted
Fireduck
2019-11-27 21:37:18
channel_list=a,b,c
Fireduck
2019-11-27 21:37:29
gotcha
Rotonen
2019-11-27 21:37:36
which channels do you have?
Rotonen
2019-11-27 21:37:52
They can also be via name: channel_list=hello,worstchat,chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl,testblog
Fireduck
2019-11-27 21:38:41
i think in hello, worstchat and testblog i have very little interest
Rotonen
2019-11-27 21:38:45
what's that unnamed one?
Rotonen
2019-11-27 21:38:51
I can't remember
Fireduck
2019-11-27 21:39:03
i thought you had the site at least?
Rotonen
2019-11-27 21:39:12
or is that hello?
Rotonen
2019-11-27 21:39:33
hello is the test site that just says "good job, it works"
Fireduck
2019-11-27 21:39:42
chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl is the clone of http://snowblossom.org
Fireduck
2019-11-27 21:40:15
i remember noting two worthy of hosting
Rotonen
2019-11-27 21:40:19
that is definitely the other
Rotonen
2019-11-27 21:40:26
do you somehow dump the wiki too?
Rotonen
2019-11-27 21:40:39
no, not yet
Fireduck
2019-11-27 21:41:42
code repositories?
Rotonen
2019-11-27 21:42:30
if i am to believe past me
https://snowblossom.slack.com/archives/CAT1SNYDV/p1574016252044400 repos and the main site i’m on board for
Rotonen
2019-11-27 21:42:58
oh well, for now, the site
Rotonen
2019-11-27 21:43:34
awesome. Having an additional seed I can put in is super helpful.
Fireduck
2019-11-27 21:44:00
poke me if the firewall becomes a hedgehog
Rotonen
2019-11-27 21:44:10
the service autodiscovery fabric is fickle sometimes
Rotonen
2019-11-27 21:45:04
is that node address also a valid snowblossom address?
Rotonen
2019-11-27 21:45:37
yes and no. The client will tell you it is invalid, because 'node' isn't right
Fireduck
2019-11-27 21:45:53
and if you change 'node' to 'snow' or leave it off, it will still fail
Fireduck
2019-11-27 21:46:01
because the type is encoded in the checksum
Fireduck
2019-11-27 21:46:21
that's nice, was thinking people can start to donate to those, and minimizing tears is nice
Rotonen
2019-11-27 21:46:29
kk
Rotonen
2019-11-27 21:46:31
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
Fireduck
2019-11-27 21:46:32
very good
Rotonen
2019-11-27 21:46:43
meh
Rotonen
2019-11-27 21:47:01
the channel db already uses 300M disk
Rotonen
2019-11-27 21:47:10
i suppose that's just the schema or something silly like that :stuck_out_tongue:
Rotonen
2019-11-27 21:47:16
probably
Fireduck
2019-11-27 21:47:47
seems to be a picky eater too `INFO: I don't want chunk: a5a3ffb8a3656327a8707f7260c893e2b4984fd8722aa533b37453d5687258f4`
Rotonen
2019-11-27 21:49:23
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.
Fireduck
2019-11-27 21:50:16
designing for idempotency is nice
Rotonen
2019-11-27 21:50:20
allows for such
Rotonen
2019-11-27 21:50:26
right
Fireduck
2019-11-27 21:50:56
mrplow takes a surprising amount of cpu, even though it's not doing anything
Rotonen
2019-11-27 21:51:15
that is strange
Fireduck
2019-11-27 21:52:16
the node has used 17min cpu time in the same time as it has burnt through 45min cpu time
Rotonen
2019-11-27 21:52:22
this is over a few weeks
Rotonen
2019-11-27 21:54:47
i'd assume the node to actually do more of those two, as no one is mining on my pool
Rotonen
2019-11-27 21:55:25
yeah, and in fact the node has to do the hard part which is building the new block templates for the pool to distribute
Fireduck
2019-11-27 21:56:13
probably missing an interrupt-esque sleep somewhere
Rotonen
2019-11-27 21:56:25
overeager networking or somesuch
Rotonen
2019-11-27 21:57:54
oh yeah, you probably want to point your channels node at your snowblossom node:
node_uri=Fireduck
2019-11-27 21:58:42
If you leave it blank, it used built in snowblossom seed nodes
Fireduck
2019-11-27 21:59:31
gotcha, done
Rotonen
2019-11-27 22:00:24
oh, you init a new rocksdb per channel, simple enough
Rotonen
2019-11-27 22:00:59
yeah, will have to add quota management and ability to nuke a channel from disk later
Fireduck
2019-11-27 22:01:19
Rotonen
2019-11-27 22:01:32
yeah, that should be fine
Fireduck
2019-11-27 22:01:55
*https://github.com/snowblossomcoin/channels/compare/5ed45da5b953...dd558d894b1d*
https://github.com/snowblossomcoin/channels/commit/dd558d894b1d15734df2413b135a4b50f4e58e62 - Add seed node, add config notes
GitHub
2019-11-27 22:04:56
hardcoded, classy
Rotonen
2019-11-27 22:05:42
absolutely
Fireduck
2019-11-27 22:06:07
It is a little verbose with all the protobuf baggage, but I prefer that than making my own format and parsing it
Fireduck
2019-11-27 22:06:18
fair
Rotonen
2019-11-27 22:06:22
however, I guess I did make a format for the uri
Fireduck
2019-11-27 22:06:23
eh
Fireduck
2019-11-27 22:17:16
ping me if you try to put any other project useful channels out
Rotonen
2019-11-27 22:17:38
will do
Fireduck