Bitcoin full node and query server

June 2019

Archive of the libbitcoin Slack #general channel.

Tuesday, June 4, 2019

neillm12:06
I'm looking to merge the following shortly, followed by 2 other minor future PRs (database/explorer): https://github.com/libbitcoin/libbitcoin-database/pull/271 https://github.com/libbitcoin/libbitcoin-blockchain/pull/499 https://github.com/libbitcoin/libbitcoin-server/pull/517 https://github.com/libbitcoin/libbitcoin-client/pull/255 I believe after these, v4 will be back in a queryable state.

Wednesday, June 5, 2019

neillm13:20
At this point, I've cleared the PR backlog I've been working with/testing lately.

Saturday, June 8, 2019

N
narodnik16:20
@evoskuil could this be used to generate C bindings? https://github.com/mono/CppSharp
1 reply · evoskuil · last Jun 10, 2019
evoskuil17:37
I’ve used C# and mono, but not sure the connection you are suggesting.
(edited)

Monday, June 10, 2019

L
the wiki's copyright is not up to date anymore (2018 instead of 2019)
evoskuil14:55
It’s okay, only new code needs new dates.
L
by the way, does the year have any legal relevance?
evoskuil14:57
The earliest claim of copyright.
how much is the storage requirement with additional server indexing today?
(with bs 4)
neillm16:20
315GB
That was version3, not sure about 4 at the moment
Sync and let us know 🙂
Actually, that's incorrect, it's 430GB for version3 mainnet
v4 should be smaller. Testnet v3 is 43GB, Testnet v4 is 32GB
evoskuil16:25
It gets bigger over time :)
neillm16:26
Heh, yeah. Maybe not worth mentioning specific sizes on the wiki
L
@evoskuil it is obvious :)
evoskuil16:26
I think they are tied to a date/height.
L
@evoskuil they are tied in Hardware section but not in FAQ section
evoskuil16:44
👍
neillm17:00
@ldz I added a link to the hardware section from that FAQ entry
L
@neillm :)
evoskuil17:37
replied to a thread: view
I’ve used C# and mono, but not sure the connection you are suggesting.
(edited)
L
@narodnik, I did not mean you, sorry. I meant @neillm
neillm23:12
@ldz Ok, thanks, will update

Sunday, June 16, 2019

L
https://github.com/libbitcoin/libbitcoin-server#libbitcoin-server "the Bitcoin command line tool and successor to SX." the reference to spesmilo/sx doesn't exist anymore
1 reply · evoskuil · last Jun 16, 2019
evoskuil15:31
Okay, we turned that github account over to Electrum and I recall being asked about deleting it. Pull request welcome.
L
I mean the repo doesn't exist
L
I would expect install.sh from master inside master instead of version3 https://github.com/libbitcoin/libbitcoin-server#debianubuntu
1 reply · evoskuil · last Jun 16, 2019
evoskuil15:29
It’s intentional, so people don’t install non-production code so easily.
L
the build system is incomplete. "git" is imissing after pkg-config (libbitcoin-system contains git). install.sh doesn't work without git
evoskuil15:27
See the list of required dependencies in the readme. The operating system, compiler and other common prerequisites must be installed :).
(edited)
evoskuil15:29
replied to a thread: view
It’s intentional, so people don’t install non-production code so easily.
L
@evoskuil I am talking about the required dependencies in the readme. please compare the two sections "next install the build system" in libbitcoin-system and libbitcoin-server
1 reply · evoskuil · last Jun 16, 2019
evoskuil15:39
Okay, pull request welcome.
L
git doesn't exist after ubuntu installation ;)
evoskuil15:31
replied to a thread: view
Okay, we turned that github account over to Electrum and I recall being asked about deleting it. Pull request welcome.
evoskuil15:39
replied to a thread: view
Okay, pull request welcome.
L
@evoskuil do you think libbitcoin's coveralls points to the new libbitcoin-system repo? I am not sure https://coveralls.io/github/libbitcoin/libbitcoin there is "committed 13 dec 2018"
Coveralls.io
The leading provider of test coverage analytics. Ensure that all your new code is fully covered, and see coverage trends emerge. Works with most CI services. Always free for open source.
neillm16:23
Ping @pmienk
pmienk16:41
It looks like a new repo is necessary. I thought this was verified however I may have only looked at my private repository
By that I mean it's setup in coveralls
L
@pmienk ok, I have created new issue in libbitcoin-system
pmienk18:05
Should be handled by the next successful build.
👍 1
Though the links will need to be updated. Will update when available.
L
@michael I see now. https://coveralls.io/github/libbitcoin/libbitcoin-system thanks :). my issue was unnecessary. I didn't know it would happen so fast :). I have already created a build status PR. I can add a new one for coverage fix
Coveralls.io
The leading provider of test coverage analytics. Ensure that all your new code is fully covered, and see coverage trends emerge. Works with most CI services. Always free for open source.
not @michael, sorry. I mean @pmienk
pmienk18:11
The issue is still useful for tracking the links displayed on GitHub. I assume they currently point to libbitcoin instead of libbitcoin-system
L
ok
evoskuil18:38
Changes like this tend to generate problems for a long time, which is why we put it off for so long, but overall Phillip’s codegen work has kept it under control.
👍 1

Monday, June 17, 2019

L
"This library has no dependencies, although the test cases have a boost dependency." https://github.com/libbitcoin/libbitcoin-consensus
is it true?
I see elliptic curve as dependency
pmienk18:15
The tests have a boost dependency
L
Yes, but I am asking about the Elliptic Curve dependency
pmienk18:18
I believe so. Our use of secp elsewhere is to reproduce independently the functionality of consensus.
neillm18:20
Yes, it's definitely required, assuming that libbitcoin-consensus is used.
(edited)
L
@neillm Yes, I see in the install.sh. To mention it would not be bad (for consistency). I can create PR later.
neillm18:22
Ok
L
libbitcoin-consensus is optional. What is it for? What is the purpose of this library? I ask as somone who has not looked at the code. Is that some kind of check that somehow checks the consistency of the two implementations (core and libbitcoin)?
neillm18:30
In short, it's the consensus critical code from bitcoind, wrapped as a library, which can be used to help ensure consensus consistency. Libbitcoin implements consensus natively as well, which is used if that external library isn't used.
L
ok

Friday, June 21, 2019

"The following files will be created in the blockchain directory."
I think some names are out of date
my blockchain folder containts for example "address_rows" but I don't have "history_rows"
neillm19:37
Version4 is in flux and not documented properly at the moment. Those may change as well (address_rows, almost certainly).
I think the docs/wiki will be updated during v4 pre-release cycles.
evoskuil19:41
👍
L
can I see the progress in some way during synchronizing?
evoskuil19:44
Console
L
@evoskuil I mean the percentage progress
evoskuil20:05
No
V3 is blocks first, it doesn’t know. V4 does but doesn’t report it yet.
Issue/PR welcome.
L
thanks for the info. I will create issue later
👍 1

Sunday, June 23, 2019

evoskuil01:30
V4 has percentage downloaded and percentage confirmed information, which run concurrently.
N
narodnik14:09
@evoskuil the tool I linked you is for parsing C++ functions, types and classes using clang. My idea is to parse C++ to autogenerate C bindings. You know C has a higher marketshare than C++, and it's far easier to generate Python bindings too.
Right now I'm studying Google's Flutter which I think will become the most popular UI framework - it can be used for desktop (win/mac/linux) but with a focus on mobile (ios, android), and will be the default for Google Fuschia. It also implements a new native FFI interface that so far only works with C (although they plan C++).
The best binding library for C++ is pybind11 which is sorta becoming standard
L
@evoskuil "V4 does but doesn’t report it yet.", "V4 has percentage downloaded and percentage confirmed information" can I find this info in the bs output?
maybe the info inside parenthesis like (03)?
N
narodnik22:51
What's the status of v4? Is it ready for development usage in projects?
evoskuil22:56
Client libs are but the node is not yet production. I’m home now for most of the next two months and hopefully I can finish the blockchain work. That’s the main holdup. It works but it’s not ideal.
evoskuil23:06
@ldz No, it's information that is only available internally, and not necessarily straightforward.
(edited)
neillm23:12
Re: v4. Client side is close, with a pending PR (https://github.com/libbitcoin/libbitcoin-explorer/pull/627). There's an issue noted there as well, but not sure where that issue is (i.e. client side, or perhaps database, or somewhere in between)
evoskuil23:14
I’m only referring to code quality. All issues should be documented.
neillm23:16
Gotcha 👍 Two months? Alright, let's do some damage 🙂