BitcoinDark Slack Logs (5/19-5/21)torrn - Torrn (bitcoindark)BOT 9:55 AM These are the 2 donation address
BTCD: RDtnnLj5LQ8YMxBJbHX1N4jNKeaC67FLGW
BTC: 36vQrrrjT1A8X3s56fdfkYzWzMgjSWhTWY
Current totals:
BTCD donation total: 2595.218
BTC donation total: 1.052051
In this weeks BitcoinDark Bulletin:Tradebots 101
http://bitcoindark.pw/tradebots-101/https://i.imgur.com/iEoGlb9.jpg (146KB)
btcddev 10:04 AMvanilla btcd blockchain structure looking more archaic every day :simple_smile:
cassius 10:05 AMI need to find out about Lchains. James keeps inventing new things.
btcddev 10:06 AMIt has way too many classes for blockchain structure in my opinion, vanilla btcd. too complex and wasteful
at least with ramchains we can find a block by height in O(1) :smile:
visual1 10:15 AM
joined #btcd
azeh 10:20 AMcassius, I guess you'll have a lot of new material for future blogs :grinning:
cassius 10:20 AMYes
Sometimes my brain feels like a hamster on a treadmill
visual1 10:22 AMis there a btcd ubuntu wallet?
btcddev 10:22 AM@visual1 yes, build from source
visual1 10:23 AMso for someone who doesn't know what that means...
btcddev 10:23 AMopen a terminal
git clone git://github.com/laowais/bitcoindark
cd bitcoindark
qmake
make
let me know if you get errors
visual1 10:24 AMalright thank you
btcddev 10:24 AMyou're welcome
cassius 10:25 AMI didn't know that. Is it the same as the Windows one?
btcddev 10:26 AMyes
that's vanilla btcd
cassius 10:26 AMNice to know
Would it run on a Pi? And more to the point, will the new one manage on a Pi?
btcddev 10:29 AMI think someone got it running on one
the new one, im not sure
it requires nxt and btcd to run supernet plugin
i'd say it needs at least 2gb ram
cassius 10:30 AMOk. I don't have one but it might make sense to get one for staking at some point, so I can stake 24/7
Or maybe an old netbook. Will wait for SuperNET release though.
btcddev 10:32 AMgood idea
i have been thinking about that as well
need something dedicated, secure
cassius 10:33 AMRight. Nothing else, just SuperNET. But not too expensive, either :simple_smile:
Ideally bought with SuperNET dividends, and leaving enough over to pick up a second-hand Lambo
I don't ask for much out of life
btcddev 10:34 AMhaha nice
jahl 1:16 PMprice going up :confused:
btcddev 1:20 PM
Unfortunately
I wanted to buy some yesterday at .0032
jahl 1:23 PMi knew i shoudl have exploited the typo in the wallet announcement as FUD
btcddev 1:39 PM
what typo
jahl 1:40 PMBCTD instead of BTCD
btcddev 1:40 PMhahaha
crackers 2:05 PMFYI: Latest shift for the xpool.ca multipool paid out 125+ BTCD.
jahl 2:07 PMwow, nice payout again :simple_smile:
3 days? havent checked
crackers 2:09 PMmonday's was held over to today
since yesterday was a holiday in canada
mivond 3:58 PMHi @channel Please come try out bitcoindarkdice.net! A betting site exclusively dedicated to BTCD! :simple_smile: Have fun!
pondsea 3:58 PMffs i had to buy more and price moves up :disappointed:
btcddev 4:04 PMI missed them at .0032 too
neal 4:16 PMIt's only ~$0.85. Still cheap if BTCD fulfils it's promise. Could be epic. :simple_smile:
gambleh 4:22 PMleft #btcd
visual1 7:36 PMmy BTCD wallet isn't connecting to peers...any quick fix for this?
kripto 4:02 AMhi,
i sent some mgwBTCD to NXT-6YQW-HHCG-NATW-DCHJ3 two days ago and still no superBTCD back
does anyone know if this delay is normal?
bizz 4:07 AMmaybe quicker method would be just sending mgwbtcd to btcd address from supernet wallet?
js.galt 4:24 AM@visual1:
https://sprnt.slack.com/files/js.galt/F0481TREP/adding_more_nodes_to_bitcoindarkjs.galt 4:24 AMMentioned a post: Adding more nodes to BitcoinDark
This improves staking among other things.
Copy and paste the following into BitcoinDark.conf
rpcuser=username
rpcpassword=password
rpcallowip=127.0.0.1
rpcport=14632
port=14631
gen=0
server=1
addnode=107.170.59.196
addnode=146.185.188.6
addnode=74.91.20.250:39997
… more
New window • Add comment
visual1 10:00 AM
@js.galt there was no BitcoinDark.conf file so I made one and it isn't working
it did save as a conf file
btcddev 10:20 AMvisual1: where is it saved
cassius 10:33 AM@channel A very generous gesture from coinomat should really kickstart MMBTCD dividends next week:
https://nxtforum.org/assets-board/btcd-mutual-fund-and-market-making-asset-mmbtcd/msg179617/#msg179617BTCD mutual fund and market-making asset, MMBTCD
btcddev 11:54 AMI've been going on something of a btcd-buying binge here lately :simple_smile:
knuckle 11:57 AMwhat is the best place to buy BTCD?
I got my “starter set” through ShapeShift, which doesn’t have good rates
but if I wanted to get, say $1000 in BTCD… ?
btcddev 11:59 AMi usually use bittrex
liquidity is pretty low everywhere
knuckle 11:59 AMoh good, I have an account there
thanks!
btcddev 12:00 PMyou're welcome
jahl 2:17 PM
wow, great news from coinomat !
cassius 2:17 PMHold up
Just clarifying a few things
Deleted that post until it's clear
jahl 2:19 PMdamn those buywalls increasing
cassius 2:20 PMAE or Trex?
jahl 2:20 PMtrex
cassius 2:20 PM:simple_smile:
visual1 7:52 PM@btcddev it's saved on a USB. when I unzipped the .rar, i only got a -qt wallet
so i just made a .conf file with wordpad
btcddev 8:39 PMare you on windows?
You need to save it, visual1, to C:\Users\<usernmae>\AppData\Local\BitcoinDark\BitcoinDark.conf
visual1 8:42 PMOh that's right, i'll try that
yeah i am
visual1 8:52 PMalright, looks like it's going now. thanks for the help!
jl777 8:58 PMI pushed a test release
it supports sending commands to the decentralized load balancer
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"ledgerhash","coin":"BTCD","broadcast":"allpeers"}'
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"addrind","coin":"BTCD","broadcast":"allpeers","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}'
the calling method is different
if you leave off the "broadcast":"allpeers", it just queries the local node
but what this means that even if you have no local ramchain, you can get ramchain info from all the nodes that do
{
"userdir":"/home/username",
"secret":"randvals","myipaddr":"youripaddr"
}
I simplified the SuperNET.conf a bit
the minimum SuperNET.conf file is above
using "secret":"randvals" generates randvals files and these contain your key, so keep them safe!
you can also just directly put the passphrase instead of "randvals"
i have other options for passphrase management, but for now, lets keep that part simple
after cloning a fresh copy from my repo (it is used for tests though so make sure to checkout a stable copy)
https://github.com/jl777/btcd/commit/a8c5809efee830102b9d5371b6b63bbbdb8de173 appears to be stable
cd into the libjl777 directory and do:
make onetime
make SuperNET; make btcd
There are very few dependencies for SuperNET: make clang-3.5 autoconf libtool libcurl4-gnutls-dev unzip autogen
so apt-get install those if you dont have them
to bootstrap a system from scratch for full btcd build just do:
make dependencies
then if the make of btcd or SuperNET failed, it should work. make a SuperNET.conf with the three required fields in the libjl777 directory
now you can launch ./BitcoinDarkd
current methods (changing all the time) for ramchain plugin is:
#define PUB_METHODS "ledgerhash", "richlist", "txid", "txidind", "addr", "addrind", "script", "scriptind", "balance", "unspents", "notify"
char *PLUGNAME(_methods)[] = { PUB_METHODS, "create", "backup", "pause", "resume", "stop" }; // list of supported methods
mostly self explanatory. to create a ramchain:
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"create","coin":"BTCD"}'
to pause it:
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"pause","coin":"BTCD"}'
you can generate to a specific block by setting "end":350000
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"richlist","coin":"BTCD"}'
returns:
return.({"supply":1218020.71387317,"richlist":[["RBF9tS45eKBab2L4ZYdQEzMVnp5vtHUuqC", "40000.00000000"], ["RGgbJiV2Hs8eWJbZmZ3hZLS8sSzFA7tYNu", "38773.29296875"], ["RA7FDvaNFXZNLqosSbCWFbypuvijJNQw5J", "37702.49609375"], ["RQ5zLFGwZGhTKbANAbCHaAP1ghZWnv6wKE", "32116.67578125"], ["RT9obeyoapYL1kzZdrBKTtJvasTJoDTiwA", "28311.67968750"], ["RMo9emPiNDd1kvn9jpDBEvLavPxb9rdyNk", "18650.31250000"], ["R9pEPKTktBGmG9ggi2TGn4USjVXPzQ5Tm1", "18210.96679688"], ["RMtkykzKuKiP4PNjgqKH6FrcSJm4Y6eA8n", "17148.80859375"], ["RWcg6XBmisrbkMYvzV9u7j1HvgMg4LuUYC", "16779.16796875"], ["RWAxa88tQXVDY64Bwz6DP2ZppsFotibaYh", "15620.54687500"], ["RQif3cnnrWjP2zzrhum24FjgwS4wBzBfts", "15618.84863281"], ["RJ94yrqKCP3XjFsAsNj9WXS5SLpyHUpx5n", "15617.99511719"], ["RBCLnsjCVHWRyUpfgauyzUu8iP6X5CabJT", "15587.90722656"], ["RGaV5Qxi2PdtMpe8GR9MpQ9JogDz5oaZbK", "15147.80078125"], ["RJPGpRQ4nudwzw6mjWCUb6cq7aWP4to6pM", "14820.11523438"], ["RDnHMnK8tgm9WmY9u3EoRLww9FyFBannCa", "14590.96875000"], ["RWc6VDt5SdjnWXoVQ2AJsuxU2QSaDcG5R7", "14576.76953125"], ["RWUTuApNQuuSustN4DBt6PxxVRwZhh52An", "14405.32910156"], ["R9g77ds8kFS58V24s9Wodt8quMB8NSp3FC", "13069.25292969"], ["RXcEPd6zV1hHAVZzfe2d8Ccv3MzHMZEZ49", "12795.74023438"], ["RUZ9AKxy6J2okcBd1PZm4YH6atmPwqV4bo", "12693.13964844"], ["RDvdbqJLu8GgLL1TvdADNeCbbjXRmHBjog", "11563.78906250"], ["RR1svWTDxD6bjtkXDzq4vhB6PWPETPNU42", "11430.56445312"], ["RYNE2isKrRu5b7xxm1DtXcLxdmBEKatuJY", "11337.11425781"], ["RV5eKvybKDNctYxXiNYV766PzCakiUNRRm", "11308.52539062"],]})
it has extra comma so doesnt parse, so there are still bugs, but I dont have the time to find all the bugs myself
or if I have to, it necessarily delays the completion.
I am not so worried about exact completion date, but if you are then you can help by testing
if you can construct JSON command lines like above, you can test!
if you can make an HTML front end to make it easy for others to test, then there will be a bounty for that
I think the wallet should have a debug mode where you can issue such API calls
notice that with "broadcastflag":"allpeers" the request is sent to the relays, which then randomly selects one of them to act as a coordinator for that request
it then relays your request to all the peers and the ones that are able to (or want to) respond will send the result back to the coordinator
who then collates it into a single request and sends it back to your node
it flows back through and appears magically on the command line
so with a single BitcoinDarkd RPC call you trigger an entire chain of events, which just happens to make establishing a peer based consensus much easier as you now have data from all the peers to compare
*****
for people that dont care much about making API calls to ramchains (I know there are people such as this), there is a reason for you to care about all this
ramchains is implemented as a plugin and it is publishing which methods it can execute locally or for public access
replace "ramchains" with "anything"
and then all nodes can access via relays all the nodes that are supporting the "anything" plugin
and the plugin can literally be for anything!
SuperNET itself is implemented as a plugin that connects into BTCD
then all the other plugins connect to SuperNET
you can publish methods that require authentication, but I am still working out the details on this, so there will be at least three levels of methods, for each plugin
by setting "iamrelay":1 to your SuperNET.conf, it tells the other relays that you are a relay too, and so this makes it fully decentralized
I have not beefed up the security or privacy yet, so just for testing now
in addition to having public methods accessible via the decentralized load balancer, you can also offer subscriptions to a data stream
this can be things like notifications of any changes to an address (or set of addresses)
or anything that can be turned into data
which is quite a few things
I havent implemented a billing/accounting system yet, but I dont see any big hurdles for that. current ideas are for publishers to set prices and subscribers to pay for them, with the system managing the payment process. maybe I will setup auction pages within InstantDEX, not sure the details
currently there are the following plugins: SuperNET, echodemo, coins, relay, peers, ramchain, db777, subscriptions, MGW in various stages of completeness
the SuperNET plugin has just a couple of methods, "install" and "plugin"
"install" installs a new plugin (which can theoretically be in any of a dozen languages) that is a standalone program
and "plugin", which just routes a request to the named plugin
"echodemo" demonstrates a minimal plugin in echodemo.c (85 lines of C) with "echo" method, that echos what is sent to it
"coins" interfaces to coin daemons, any gen1 coin is supported and if it is added to the source code you dont even have to configure it in SuperNET.conf, but if it isnt, you can add support for it via the "coins":[:"name":"COIN",...} array
to add support for a new coin:
char *coindirs[][3] = { {"BTC",".bitcoin"}, {"BTCD",".BitcoinDark"}, {"LTC",".litecoin"}, {"VRC",".vericoin"}, {"VPN",".vpncoin"} };
just one little array needs to be added to and this means via the coins array you can communicate to any other coin daemon, but I have not had a chance to add many methods to the coins plugin as I am concentrating on MGW support
you know about ramchain's current methods
db777 is the database engine based on sophia
http://sphia.org/v12.htmlrelays deals with the decentralized load balancer and it automatically reconfigures the network topology as more relays are added. it also supports direct connections so you can connect directly to a specific relay
char *PLUGNAME(_methods)[] = { "list", "add", "direct", "join", "busdata", "devMGW" }; // list of supported methods for relay
it seems the peers plugin deals with the "direct" connection: char *PLUGNAME(_methods)[] = { "direct", "devMGW" };
I am about to debug that next
subscriptions plugin will manage subscriptions (including payments), but this is for a bit later
after MGW plugin is completed I will make an InstantDEX plugin
It confuses me greatly that many people are complaining about lack of progress...
how many of them have created a decentralized system for adding new services? actually has anybody else created anything like this?
somebody please make a copy of all this so it is not lost, thanks
knuckle 9:41 PMCopied
The Gospel according to James
:snotkitten:
freakbros 9:45 PMwow u rock
and type fast
hollowman9000 9:48 PMjoined #btcd
3rdstryker 2:16 AMi understand bits and pieces there, enough to know you are doing a splendid job, thanks for the update!
jl777 3:56 AMcan somebody help test the accuracy of the unspents data
just need the current BTCD installed and to submit requests like
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"unspents","verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d","broadcast":"allpeers"}'
then to see how it compares with blockexplorers
for addresses with just a few tx and no spends it seems there is good agreement, but i am finding some addresses that are not matching
especially ones with a lot of tx
lemonhead 3:58 AM i would but i get the following
add_relay_connections warning: send.-1 vs 54 for ({"plugin":"ramchain","method":"create","coin":"BTCD"}) sock.0 Bad file descriptor
maybe this is yet another 32bit issue :simple_smile: i should really upgrade
jl777 3:59 AMhow are you getting that error?
lemonhead 4:00 AM./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"create","coin":"BTCD"}'
jl777 4:00 AM
add a "broadcast":"allpeers", unless you have a ramchain locally
plz dont upgrade, we need someone that runs a node from the last century
lemonhead 4:01 AM= )
still same error
i installed clang-3.5 didnt work
it did work with clan-3.4 though
dont know if that matters
jl777 4:03 AMwell if it worked with clang-3.4 and it worked, but 3.5 broke it
i would say it matters!
lemonhead 4:03 AMno you misunderstood
i tried to run make btcd with clang-3.5 which didnt work (edited)
make btcd with clan-3.4 worked
jl777 4:04 AM<<<<<<<<<<<< INSIDE PLUGIN! process relay ({"result":"registered","plugin":"relay","daemonid":0,"instanceid":0,"allowremote":1,"methods":["list", "add", "direct", "join", "busdata", "devMGW"],"pubmethods":["list", "add", "direct", "join", "busdata", "devMGW"],"authmethods":["list", "add", "direct", "join", "busdata", "devMGW"]})
return.({"result":"completed","tag":"0","NXT":"16857339717008846076","allowremote":1})
BIND.(tcp://*:7790) <- NN_SURVEYOR
nn_createsocket.(NN_SURVEYOR) 16
nn_createsocket.(NN_RESPONDENT) 17
BIND.(tcp://*:7791) <- NN_PUB
nn_createsocket.(NN_PUB) 18
nn_createsocket.(NN_SUB) 19
+tcp://89.248.160.237:7787 +tcp://89.248.160.238:7787 +tcp://89.248.160.239:7787 +tcp://89.248.160.240:7787 +tcp://89.248.160.241:7787 +tcp://89.248.160.242:7787 (89.248.160.243) MATCHES me (89.248.160.243)
BIND.(tcp://*:7787) <- NN_REP
nn_createsocket.(NN_REP) 21
BIND.(tcp://*:7795) <- NN_BUS
nn_createsocket.(NN_BUS) 22
+tcp://192.99.151.160:7787 +tcp://167.114.96.223:7787 +tcp://167.114.113.197:7787 +tcp://76.176.198.6:7787 subscribed to (tcp://89.248.160.237:7791)
subscribed to (tcp://89.248.160.238:7791)
subscribed to (tcp://89.248.160.239:7791)
subscribed to (tcp://89.248.160.240:7791)
subscribed to (tcp://89.248.160.241:7791)
subscribed to (tcp://89.248.160.242:7791)
subscribed to (tcp://192.99.151.160:7791)
subscribed to (tcp://167.114.96.223:7791)
subscribed to (tcp://167.114.113.197:7791)
subscribed to (tcp://76.176.198.6:7791)
respondloop.NN_BUS 22 type.112 <- (tcp://*:7795).112
respondloop.NN_REP 21 type.49 <- (tcp://*:7787).48
respondloop.NN_SUB 19 type.33 <- ().32
respondloop.NN_RESPONDENT 17 type.99 <- ().98
LB_RESPONSE.({"result":"relay added","count":1,"NXT":"423766016895692955","allowremote":1,"tag":"5914935021125943101"})
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"create","coin":"BTCD"}'
PLUGINMETHOD.(create) for (ramchain) bundled.
what do your startup prints like above say?
lemonhead 4:05 AM i dont get any output....
lemon@lemon-ThinkPad-X201:~/btcd/btcd/libjl777$ ./BitcoinDarkd
BitcoinDark server starting
lemon@lemon-ThinkPad-X201:~/btcd/btcd/libjl777$ add_relay_connections warning: send.-1 vs 54 for ({"plugin":"ramchain","method":"create","coin":"BTCD"}) sock.0 Bad file descriptor
jl777 4:05 AMand I still claim that if there is a compiler issue, it matters, but I dont have time to track it down now, so i changed the make file to get clang 3.4
the very beginning is:
BitcoinDark server starting
starting SuperNET 89.248.160.243:56882
back from start
SuperNET (SuperNET).argc5 parent PID.1
tag.0 initflag.1 got jsonargs.(0x7facf0000b60) 0x17d8d2e0 0x17d82400
<<<<<<<<<<<< INSIDE PLUGIN.(SuperNET)! initflag.1 process SuperNET
(NXT-CV9W-74F8-W7X9-GFCWM) (16857339717008846076) (<secret>)
>>>>>>>>>>>>>>>> INIT ********************** (./DB) () (
http://127.0.0.1:7876/nxt?requestType) SUPERNET.port 7777 UPNP.0 NXT.16857339717008846076 ip.(89.248.160.243) iamrelay.1
SOPHIA.(./DB) MGW.() create path.(NXTaccts).((null)) -> [DB/NXTaccts NXTaccts].(null) restore.(DB/restore/NXTaccts)
opened.(db.NXTaccts) env.0x17d9ebc0 ctl.0x17d9ecb0 db.0x7fad27755024 asyncdb.0x7fad27755394
SOPHIA.(./DB) MGW.() create path.(nodestats).((null)) -> [DB/nodestats nodestats].(null) restore.(DB/restore/nodestats)
opened.(db.nodestats) env.0x17da4800 ctl.0x17da48f0 db.0x7fad2774a024 asyncdb.0x7fad2774a394
SOPHIA.(./DB) MGW.() create path.(busdata).((null)) -> [DB/busdata busdata].(null) restore.(DB/restore/busdata)
opened.(db.busdata) env.0x17daa640 ctl.0x17daa730 db.0x7fad2773f024 asyncdb.0x7fad2773f394
done tag.0 initflag.1 got jsonargs.(0x7facf0000b60) 0x17d8d2e0 0x17d82400
does SuperNET as standalone work>
?
lemonhead 4:07 AMshould i make ./m_unix?
jl777 4:07 AMdo a make SuperNET and ./SuperNET
m_unix makes btcd
just make SuperNET and ./SuperNET
what is your SuperNET.conf?
you need "myipaddr":"your ipaddr"
lemonhead 4:08 AMok SuperNET is starting
jl777 4:08 AMfrom the console it is a different syntax
for convenience
there is also an alias DB
so you can assign macros to common sequences
its a bit touchy with spaces and so not quite able to use it for macro substitution inside the JSON
but you can map "any string" -> macro and then #macro replaces
lemonhead 4:10 AMdone tag.0 initflag.1 got jsonargs.(0xaba0b0b0) 0x7ef12170 0x7ef11ff0
{"result":"initflag > 0"}
CONFIGURED.(relay) argc.5: PERMANENT myid.16222167093867489612 daemonid.2147483647 NXT.
peers (peers).argc5 parent PID.3622
tag.0 initflag.1 got jsonargs.(0xaba0d360) 0x12b054e8 0x12b02a30
PEERS ({"result":"initflag > 0"})
done tag.0 initflag.1 got jsonargs.(0xaba0d360) 0x12b054e8 0x12b02a30
{"result":"initflag > 0"}
CONFIGURED.(peers) argc.5: PERMANENT myid.6098220584568878940 daemonid.2147483647 NXT.
subscriptions (subscriptions).argc5 parent PID.3622
tag.0 initflag.1 got jsonargs.(0xaba0f618) 0x7ef172a0 0x7ef16970
done tag.0 initflag.1 got jsonargs.(0xaba0f618) 0x7ef172a0 0x7ef16970
{"result":"initflag > 0"}
CONFIGURED.(subscriptions) argc.5: PERMANENT myid.9497324997358310183 daemonid.2147483647 NXT.
{"result":"launched","daemonid":"5559986211748"}
{"result":"launched","daemonid":"5560875444493"}
{"result":"launched","daemonid":"5561192716899"}
{"result":"launched","daemonid":"5561411081330"}
{"result":"launched","daemonid":"5561416919218"}
{"result":"launched","daemonid":"5561132165296"}
{"result":"launched","daemonid":"5561115064499"}
num builtin plugin agents.7
BIND.(tcp://*:7790) <- NN_SURVEYOR
nn_createsocket.(NN_SURVEYOR) 16
nn_createsocket.(NN_RESPONDENT) 17
BIND.(tcp://*:7791) <- NN_PUB
nn_createsocket.(NN_PUB) 18
nn_createsocket.(NN_SUB) 19
+tcp://89.248.160.237:7787 +tcp://89.248.160.238:7787 +tcp://89.248.160.239:7787 +tcp://89.248.160.240:7787 +tcp://89.248.160.241:7787 +tcp://89.248.160.242:7787 +tcp://89.248.160.243:7787 +tcp://192.99.151.160:7787 +tcp://167.114.96.223:7787 +tcp://167.114.113.197:7787 +tcp://76.176.198.6:7787 conv.({"key":"foo","t":1432199288,"NXT":"0","s":"5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953","l":4}) slen.116
datalen.4 checklen.4 len.116
NXT.0 key.(foo) sha.(5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953) datalen.4
BUSDATA.({"result":"updated busdata"}) (efbeadde)
respondloop.NN_SUB 19 type.33 <- ().32
respondloop.NN_RESPONDENT 17 type.99 <- ().98
still same error :confused:
jl777 4:10 AMthe above looks ok
do a
relay list
from console
the console shortcut is explained if you type help
but it is
<plugin> <method> {json for whatever else}
and it adds the first two into the json you provide (if any)
! -> adds "broadcast":"allpeers"
./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"unspents","verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d","broadcast":"allpeers"}'
and
!ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}
are equivalent
lemonhead 4:14 AMMy pc just disconnected from slack...
lemonhead 4:20 AM!ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}
seems to work
very long output
lemon@lemon-ThinkPad-X201:~/btcd/btcd/libjl777$ ./BitcoinDarkd SuperNET '{"plugin":"ramchain","method":"unspents","verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d","broadcast":"allpeers"}'
{"error":"lb send error"}
jl777 4:21 AM{"error":"lb send error"} indicates error, but you say you got a long response?
make verbose off
lemonhead 4:22 AMin console it works
the ./BitcoinDarkd SuperNET ...... doesnt work
jl777 4:23 AMyou pulled recently?
lemonhead 4:23 AM!ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}
[!ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}]
expands to: broadcast [ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}] ramchain
RECV.NN_RESPONDENT ({"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d","tag":"7749363893351949254","plugin":"ramchain","method":"unspents","NXT":"14939202522095242223","tag":"7222815480849057907"})
PLUGINMETHOD.(unspents) for (ramchain) bundled.1 ready.0 allowremote.0 localaccess.0
readyflag.0
(ramchain unspents {"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d"}) -> ({"verbose":1,"coin":"BTCD","addr":"RM5NNYdGee6X65aFGkyaRkYocSxQVNsB8d","tag":"7749
yes im on the commit you suggested above
jl777 4:25 AMwhich one was that, i fixed a bug via btcd in commit
https://github.com/jl777/btcd/commit/a8c5809efee830102b9d5371b6b63bbbdb8de173about 10 commits ago the latest seems stable
lemonhead 4:25 AMa8c5809efee830102b9d5371b6b63bbbdb8de173
jl777 4:25 AMhttps://github.com/jl777/btcd/commit/b24d663b181c95c53dffbe2f512220c4f1c8bf69maybe still some problems, well if SuperNET direct works, you can test using that mode for now
only the addresses with hundreds of tx seem to be off and I am not sure if it is the blockexplorer or ramchains with the problem...
lemonhead 4:31 AMramchain create {"coin":"BTCD"}]
expands to: [ramchain create {"coin":"BTCD"}] ramchain
PLUGINMETHOD.(create) for (ramchain) bundled.1 ready.0 allowremote.0 localaccess.1
readyflag.0
(ramchain create {"coin":"BTCD"}) -> ({"coin":"BTCD","tag":"7222815480849057907","plugin":"ramchain","method":"create"}) -> ({"error":"plugin not ready"})
jl777 4:32 AMsomething is very strange, it autoinitialized BTCD coin
lemonhead 4:32 AMok working now
forgot the !
!ramchain create {"coin":"BTCD"}]
expands to: broadcast [ramchain create {"coin":"BTCD"}] ramchain
RECV.NN_RESPONDENT ({"coin":"BTCD","tag":"8408462745175416063","plugin":"ramchain","method":"create","NXT":"14939202522095242223","tag":"3091884191388096748"})
PLUGINMETHOD.(create) for (ramchain) bundled.1 ready.0 allowremote.0 localaccess.0
readyflag.0
(ramchain create {"coin":"BTCD"}) -> ({"coin":"BTCD","tag":"8408462745175416063","plugin":"ramchain","method":"create","broadcast":"allpeers"}) -> ({"success":0,"err responses":16,"total":16})
jl777 4:33 AMwell you cant remotely spawn ramchains!
register_daemon READY.(coins) >>>>>>>>>>>>>> READY.(coins)
lemonhead 4:33 AMah :simple_smile:
jl777 4:33 AMdo you have that during startup
my guess is you dont have SuperNET.conf, or the "userdir" is not set right
lemonhead 4:34 AMis it searching for /home/lemon/btcd?
because mine is /home/lemon/btcd/btcd
jl777 4:35 AMthe psychic detection of strange subdirs is a bit buggy
lemonhead 4:35 AM= )
jl777 4:35 AMfor nonstandard strange and weird subdirs you need a coins array
blackyblack 4:37 AMwhat is this bounty for java plugin port?
do you need java client library?
jl777 4:38 AM"coins":[{"coin":"BTCD","path":"btcd/btcd"}]
blackyblack 4:38 AMwebsockets connectivity?
jl777 4:38 AMset_coinconfname(fname,coinstr,userhome,coindir,confname);
printf("set_coinconfname.(%s)\n",fname);
needs to use nanomsg
which handles all the comms
I think JNI
but maybe it is fine to just let java be java and as long as it talks the nanomsg locally, it actually doesnt matter
blackyblack 4:39 AMthere is nanomsg wrapper for java
what next?
jl777 4:39 AM(any application written in any language) <- nanomsg -> SuperNET
port plugin777.c into java
that implements the client side of the protocol
blackyblack 4:40 AMso something like client lib?
jl777 4:40 AMit will use the ipc:// endpoints
need to have a reference plugin777.c equivalent and a few demo plugins, like echodemo.c
so yes a client lib to allow for minimal work to make a new plugin
the plugin itself should just deal with getting JSON, returning JSON
blackyblack 4:41 AMok. can I use some public supernet node?
do you have any available?
jl777 4:41 AMpm me your ssh key I will get you access to one
dm me here
blackyblack 4:42 AMain't open websocket enough?
to make this kind of work
jl777 4:42 AMmaybe
then just run the current btcd or the SuperNET as standalone
you will know it works if your plugin is able to be loaded by SuperNET via the "install" method
blackyblack 4:43 AMI don't want to build the supernet to connect my java plugin to it
I want to use existing node
you think I need local connection?
jl777 4:44 AMthere is inproc:// and ipc:// and tcp:// and ws:// as the nanomsg endpoints
blackyblack 4:44 AMI will use ws for tests
jl777 4:44 AMinproc is only for inprocess threads and ipc is for interprocess
plugins are local
inproc for built in and ipc for dynamically loaded processes
blackyblack 4:45 AM"plugins are local" this is what I asked
jl777 4:45 AMyou could do nn_loadbalanced requests to the relays, but that is not a plugin, that is a remote client
blackyblack 4:45 AMok I need my own supernet build
jl777 4:45 AMfor this bounty, yes
local plugins can be remotely queried
blackyblack 4:46 AMsomebody is working on it already?
jl777 4:46 AMbut not remotely loaded on your node
nobody has asked to do the java yet
I pushed to libjl777 repo semi-stable versions. the btcd repo undergoes rather rapid commits as I am using it for dev testing
it is a simpler environment to test with SuperNET standalone. just clone, make onetime and make SuperNET, all uncommon dependencies are included directly in the source tree
blackyblack 4:49 AMso I should use libjl777?
jl777 4:49 AMyes, right now they are in sync, but I will make that the "stable" repo for the time being with the "btcd" being the experimental
actually btcd repo is up to 3187 commits vs only 2716 for the jl777/libjl777 repo, which used to be the experimental repo and had double the commits of the btcd
blackyblack 4:51 AMinitial setup guide somewhere?
jl777 4:51 AMgit clone
https://github.com/jl777/libjl777; cd btcd/libjl777; make onetime; make SuperNET; ./SuperNET
make a SuperNET.conf:
{
"userdir":"/home/username",
"secret":"randvals","myipaddr":"111.22.33.44"
}
blackyblack 4:52 AMconfig?
thanks
jl777 4:53 AMyou can put a passphrase for "secret", but randvals generates high entropy files and constructs a passphrase from it
there are a lot more config options, but that is the minimum need to get started
blackyblack 4:53 AMip must be valid?
jl777 4:54 AMnot to test local plugins
blackyblack 4:54 AM32bit os supported?
lemonhead 4:54 AM:smile:
thanks to me
= D
jl777 4:54 AMyou might even be able to submit nn_loadbalanced requests without ip, but direct connections wont work
we support 16bit and even 8 bit OS
lemonhead 4:55 AM:squirrel:
blackyblack 4:55 AMok I will use dos
jl777 4:55 AMok, I lied we dont support 8 bit OS, but we do support the 16bit OS known as Windows
and it has DOS inside it, so virtually speaking...
blackyblack 4:56 AMI'd love having prebuilt supernet for windows
you know it is one step to start working
jl777 4:56 AMthen get the InstantDEX installer package from the instantdex channel
blackyblack 4:56 AMinstead of pull, make, wtf
jl777 4:57 AMI am not familiar with the wft command
lemonhead 4:57 AMftw
blackyblack 4:57 AMman wtf
lemonhead 4:57 AM:smile:
man!
sudo man wtf
jl777 4:57 AMnot sure the status of windows installer
blackyblack 4:58 AMchecking right away
jl777 4:58 AMbut I saw some older version inside an installer
it only takes a few minutes to get it working on real OS
blackyblack 4:59 AMmy real OS is on the virtual box :simple_smile:
so not so real if you think about it
lemonhead 4:59 AM= )
OS inception
jl777 4:59 AMI lied, it cloned, built and ran in less than a minute
lemonhead 5:00 AMwhich command you want me to run @jl777 i think its working now....
blackyblack 5:06 AMnope installer comes with 64bit version
jl777 5:06 AM@lemonhead: "unspent"
lemonhead 5:16 AMthis good or bad?
cassius 5:17 AMLooks like some great stuff is going on :simple_smile:
Quick update/clarification on the MMBTCD asset discussion yesterday:
https://nxtforum.org/assets-board/btcd-mutual-fund-and-market-making-asset-mmbtcd/msg179731/#msg179731Should be a good start for dividends for next Wednesday. Big thanks to coinomat for getting things moving :simple_smile:
BTCD mutual fund and market-making asset, MMBTCD
@channel ^^^
jl777 5:19 AMi put the following in a file so I could time it
git clone
https://github.com/jl777/libjl777; cd libjl777; make onetime; make SuperNET;
real 1m20.657s
user 0m55.279s
sys 0m9.825s
so from starting a fresh clone to finished SuperNET build in less than 81 seconds
blackyblack 5:20 AMunless you don't have clang
libnanomsg
and stuff
jl777 5:20 AMjust do make dependencies
you dont need libnanomsg, it is included in my tree
blackyblack 5:21 AMlol
jl777 5:21 AMalso, who doesnt have clang installed?
thats just weird
blackyblack 5:22 AMyou should pin an instruction :simple_smile:
jl777 5:24 AMset the channel topic: git clone
https://github.com/jl777/libjl777; cd libjl777; make onetime; make btcd; ./BitcoinDarkd
jl777 5:24 AMset the channel topic: git clone
https://github.com/jl777/btcd; cd libjl777; make onetime; make btcd; ./BitcoinDarkd
lemonhead 5:25 AM= D
blackyblack 5:25 AMforgot dependencies
jl777 5:28 AMset the channel topic: git clone
https://github.com/jl777/btcd; cd btcd/libjl777; make onetime; make btcd; echo "{\"secret\":\"randvals\",\"userdir\":\"$HOME\"}" > SuperNET.conf; ./BitcoinDarkd
jl777 5:28 AMyes but I autocreate SuperNET.conf now
jl777 5:28 AMset the channel topic: git clone
https://github.com/jl777/btcd; cd btcd/libjl777; make dependencies; make onetime; make btcd; echo "{\"secret\":\"randvals\",\"userdir\":\"$HOME\"}" > SuperNET.conf; ./BitcoinDarkd
jl777 5:29 AMthere one liner to make a fresh BTCD with default SuperNET.conf
this one takes a lot longer than 81 seconds though
jl777 5:45 AMreal 10m1.967s
user 7m38.012s
sys 0m39.539s
took a bit more than 10 minutes to run the channel topic, which is a one line unix command that from scratch gets experimental BitcoinDarkd cloned, built and even with a default SuperNET.conf file
i had all the dependencies already installed though so on a fresh system might take upwards of 30 minutes
crackers 6:50 AMcommand idnd't work for me...
tector-all -Wstack-protector -D_FORTIFY_SOURCE=2 -c -o SuperNET.o SuperNET.c
In file included from SuperNET.c:579:
In file included from plugins/utils/utils777.c:17:
In file included from plugins/utils/bits777.c:16:
plugins/utils/system777.c:195:7: error: conflicting types for 'aligned_alloc'
void *aligned_alloc(uint64_t allocsize);
^
/usr/include/stdlib.h:509:14: note: previous declaration is here
extern void *aligned_alloc (size_t __alignment, size_t __size)
^
1 error generated.
<builtin>: recipe for target 'SuperNET.o' failed
make: *** [SuperNET.o] Error 1
hrm
jl777 6:50 AMdid you do a fresh clone?
crackers 6:51 AMnot fresh no...
lemme give that a whirl
jl777 6:52 AMno need!
I am pushing a fix
crackers 6:52 AMk
crackers 8:20 AMtesting on a fresh deployments
crackers 9:05 AMbleh, connecetion to github is... horrilbe
Receiving objects: 91% (18750/20566), 154.29 MiB | 64.00 KiB/s │·········································································
jl777 9:06 AMmaybe I should reset the repo, the total size is nowhere as big but with 3000 commits...
lemonhead 9:14 AMcant you make a branch?
hmm doesnt solve the 3000 commits does it :simple_smile:
jl777 9:15 AMI dont know how to do fancy git stuff
I am just a simple C programmer
lemonhead 9:15 AM= )
do you say that when you meet girls as well...
jl777 9:16 AMyes, it works quite well
lemonhead 9:16 AMfirst thing i would say
jl777 9:16 AMkind of like saying "I know ancient greek well enough to write it"
dee 9:37 AM joined #btcd