Archive of the libbitcoin Slack #general channel.
connect() still returns the error mentioned abovestack false result, so I'm still trying to find out whyvalidation member which I need to update with the previous output apparently=========== Input script evaluation =========== > Operation: 0 [00149a19a31c2fda7d0c30215ec954a20a542aa84ad3] > Stack after operation: 0 [00149a19a31c2fda7d0c30215ec954a20a542aa84ad3] =========== Output script evaluation ========== > Operation: 0 hash160 > Stack after operation: 0 [dcdc2f89b96c420751e3750da7d5073a81b16946] >> Operation: 1 [dcdc2f89b96c420751e3750da7d5073a81b16946] >> Stack after operation: 1 [dcdc2f89b96c420751e3750da7d5073a81b16946] [dcdc2f89b96c420751e3750da7d5073a81b16946] >>> Operation: 2 equal >>> Stack after operation: 2 [01] ----------- P2SH pattern detected ------------- ======= P2SH Embedded script evaluation ======= > Operation: 0 zero > Stack after operation: 0 [] >> Operation: 1full file
script_machine.cpp file in your cpp script.msvc and the import files being utilized only in that environment to my knowledge I'm unclear as to whether or not your concerns are primarily for msvc or if you're aiming for a cross-platform understanding of how the dependency is satisfied.target_link_libraries. Specifically, they are linked to the library project of the repository by target_link_libraries( <target> ${CANONICAL_LIB_NAME} ).Find<library>.cmake file emitted into the depending repository. That linkage utilizes the pkg-config .pc file emitted for that purpose the same as is used via Makefile.am.% echo 170D423C | bx mnemonic-new -l es
% echo 170D423C | bx base16-decode | ./ent -b
% echo 170D423C | bx mnemonic-new -l en
https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt#L185
head maps to line 849 at https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt#L849
monkey maps to 1146 at https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt#L1146
atún = https://github.com/bitcoin/bips/blob/master/bip-0039/spanish.txt#L185
hallar = https://github.com/bitcoin/bips/blob/master/bip-0039/spanish.txt#L849
millón = https://github.com/bitcoin/bips/blob/master/bip-0039/spanish.txt#L1146https://github.com/monero-project/monero/blob/master/src/mnemonics/english.h#L1121 = luz https://github.com/monero-project/monero/blob/master/src/mnemonics/spanish.h#L1144.
I will shut up now…tail: test.log: file truncated Running 131 test cases... Platform: linux Compiler: GNU C++ version 7.3.0 STL : GNU libstdc++ version 20180415 Boost : 1.62.0 test/zmq/socket.cpp(57): fatal error: in "socket_tests/socket__push_pull__brickhouse__blocked": critical check !poller__.wait(1).contains(puller.id()) has failed test/zmq/socket.cpp(568): info: subscriber test/zmq/socket.cpp(703): info: check
txn-mempool-conflict. I’m 100% sure it’s a double-spend and I need some way to catch that. The error handler for transaction_pool_broadcast doesn’t seem to be called with that error.10:21:18.221662 DEBUG [network] Received tx reject (18) from [127.0.0.1:28333] 'txn-mempool-conflict' [5fc3adc6f024a5ac6d345ab0032ccd964896a5b6a59ca30594e3dc4ca0951ea4].transaction_pool_broadcast isn’t called at all.subscribe_transaction doesn’t exist for version3 😕"Stop protocol_ping on [54.169.209.7:8555] connection timed out" "Stop protocol_reject on [54.169.209.7:8555] connection timed out" "Stop protocol_address on [54.169.209.7:8555] connection timed out" "Stop protocol_block_in on [54.169.209.7:8555] connection timed out" "Stopped block_in protocol for [54.169.209.7:8555]." "Stop protocol_block_out on [54.169.209.7:8555] connection timed out" "Stopped block_out protocol for [54.169.209.7:8555]." "Stop protocol_transaction_in on [54.169.209.7:8555] connection timed out" "Stopped transaction_in protocol for [54.169.209.7:8555]." "Stop protocol_transaction_out on [54.169.209.7:8555] connection timed out" "Stopped transaction_out protocol for [54.169.209.7:8555]." "Fired protocol_block_in timer on [37.59.38.74:8333] success" "Peer [37.59.38.74:8333] exceeded configured block latency."
```(gdb) r --run_test=block_database_tests
Starting program: /home/kulpreet/projects/libbitcoin/v4/libbitcoin-database/test/.libs/libbitcoin-database-test --run_test=block_database_tests
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Running 5 test cases...
entering ..block_database__get__empty_database__false
leaving ..block_database__get__empty_database__false
entering ..block_database__store__only_genesis_no_index__height_not_available
leaving ..block_database__store__only_genesis_no_index__height_not_available
entering ..block_database__index___only_genesis_candidate__height_available
libbitcoin-database-test: tpp.c:84: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)' failed.
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff61a3801 in __GI_abort () at abort.c:79
#2 0x00007ffff619339a in __assert_fail_base (fmt=0x7ffff631a7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff6b09c60 "new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)",
file=file@entry=0x7ffff6b09c54 "tpp.c", line=line@entry=84, function=function@entry=0x7ffff6b09d10 <__PRETTY_FUNCTION__.7568> "__pthread_tpp_change_priority") at assert.c:92
#3 0x00007ffff6193412 in __GI___assert_fail (assertion=assertion@entry=0x7ffff6b09c60 "new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)", file=file@entry=0x7ffff6b09c54 "tpp.c", line=line@entry=84,
function=function@entry=0x7ffff6b09d10 <__PRETTY_FUNCTION__.7568> "__pthread_tpp_change_priority") at assert.c:101
#4 0x00007ffff6b0855f in __pthread_tpp_change_priority (previous_prio=previous_prio@entry=-1, new_prio=new_prio@entry=0) at tpp.c:82
#5 0x00007ffff6afea98 in __pthread_mutex_lock_full (mutex=0x7fffffffb018) at ../nptl/pthread_mutex_lock.c:541
#6 0x00007ffff6aff055 in __GI___pthread_mutex_lock (mutex=mutex@entry=0x7fffffffb018) at ../nptl/pthread_mutex_lock.c:71
#7 0x00007ffff7bb76c9 in boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock (m_=0x7fffffffb018, this=<synthetic pointer>) at /usr/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp:26
#8 boost::condition_variable::notify_all (this=0x7fffffffb018) at /usr/include/boost/thread/pthread/condition_variable.hpp:136
#9 boost::shared_mutex::release_waiters (this=0x7fffffffafe8) at /usr/include/boost/thread/pthread/shared_mutex.hpp:168
#10 boost::shared_mutex::unlock_and_lock_upgrade (this=0x7fffffffafe8) at /usr/include/boost/thread/pthread/shared_mutex.hpp:519
#11 libbitcoin::database::file_storage::reserve (this=0x7fffffffaf90, size=4143, expansion=<optimised out>) at src/memory/file_storage.cpp:376
#12 0x00007ffff7bb7911 in libbitcoin::database::file_storage::reserve (this=<optimised out>, size=<optimised out>) at src/memory/file_storage.cpp:333
#13 0x00005555555fb579 in libbitcoin::database::record_manager<unsigned int>::allocate (this=0x7fffffffb268, count=1) at ./include/bitcoin/database/impl/record_manager.ipp:126
#14 0x00007ffff7bae261 in libbitcoin::database::list_element<libbitcoin::database::record_manager<unsigned int>, unsigned int, std::array<unsigned char, 32ul> >::create(std::array<unsigned char, 32ul> const&, std::function<void (libbitcoin::serializer<unsigned char*>&)>) (write=..., key=..., this=0x7fffffffad80) at ./include/bitcoin/database/impl/list_element.ipp:93
#15 libbitcoin::database::block_database::store (this=this@entry=0x7fffffffaf90, header=..., height=<optimised out>, height@entry=100, median_time_past=<optimised out>, median_time_past@entry=0, checksum=<optimised out>, checksum@entry=0, tx_start=<optimised out>,
tx_start@entry=0, tx_count=<optimised out>, state=<optimised out>) at src/databases/block_database.cpp:239
#16 0x00007ffff7bae373 in libbitcoin::database::block_database::store (this=this@entry=0x7fffffffaf90, header=..., height=height@entry=100, median_time_past=median_time_past@entry=0) at src/databases/block_database.cpp:251
#17 0x00005555555ac355 in block_database_tests::block_database__index___only_genesis_candidate__height_available::test_method (this=this@entry=0x7fffffffc08c) at test/databases/block_database.cpp:109
#18 0x00005555555b03a9 in block_database_tests::block_database__index___only_genesis_candidate__height_available_invoker () at test/databases/block_database.cpp:96
#19 0x00007ffff78e1fbe in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) () from /usr/local/lib/libboost_unit_test_framework.so.1.62.0full fileRunning 1 test case... unknown location:0: fatal error: in "block_database_tests/block_database__store__only_genesis_no_index__height_not_available": boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >: boost: mutex lock failed in pthread_mutex_lock: Invalid argument test/databases/block_database.cpp:71: last checkpoint
error: './test/libbitcoin-database-test' doesn't contain the architecture x86_64
Anyone using a mac and has been able to use lldb?[log] debug_file = /var/chaindata/mainnet.debug.log error_file = /var/chaindata/mainnet.error.log archive_directory = /var/chaindata/archive.mainnet rotation_size = 10000000 minimum_free_space = 0 maximum_archive_size = 0 maximum_archive_files = 20 verbose = true [network] protocol_maximum = 70013 protocol_minimum = 31402 services = 9 invalid_services = 176 # The magic number for message headers, defaults to 3652501241 (use 118034699 for testnet). identifier = 3652501241 validate_checksum = false inbound_port = 8333 inbound_connections = 5 outbound_connections = 10 manual_attempt_limit = 0 connect_batch_size = 5 connect_timeout_seconds = 5 channel_handshake_seconds = 30 channel_heartbeat_minutes = 5 channel_inactivity_minutes = 30 channel_expiration_minutes = 60 channel_germination_seconds = 30 host_pool_capacity = 1000 hosts_file = /var/chaindata/mainnet.hosts.cache self = 0.0.0.0:0 seed = mainnet1.libbitcoin.net:8333 seed = mainnet2.libbitcoin.net:8333 seed = mainnet3.libbitcoin.net:8333 seed = mainnet4.libbitcoin.net:8333 [database] directory = /var/chaindata/mainnet flush_writes = true [blockchain] priority = true # A hash:height checkpoint, multiple entries allowed, defaults shown. checkpoint = 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f:0 checkpoint = 0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d:11111 checkpoint = 000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6:33333 checkpoint = 00000000001e1b4903550a0b96e9a9405c8a95f387162e4944e8d9fbe501cd6a:68555 checkpoint = 00000000006a49b14bcf27462068f1264c961f11fa2e0eddd2be0791e1d4124a:70567 checkpoint = 0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20:74000 checkpoint = 00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97:105000 checkpoint = 000000000000774a7f8a7a12dc906ddb9e17e75d684f15e00f8767f9e8f36553:118000 checkpoint = 00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe:134444 checkpoint = 000000000000033b512028abb90e1626d8b346fd0ed598ac0a3c371138dce2bd:140700 checkpoint = 000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763:168000 checkpoint = 000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317:193000 checkpoint = 000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e:210000 checkpoint = 00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e:216116 checkpoint = 00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932:225430 checkpoint = 000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214:250000 checkpoint = 0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40:279000 checkpoint = 00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983:295000 [fork] easy_blocks = false retarget = true bip16 = true bip30 = true bip34 = true bip66 = true bip65 = true bip90 = true bip68 = true bip112 = true bip113 = true bip141 = true bip143 = true bip147 = true [node] block_latency_seconds = 300 notify_limit_hours = 24 byte_fee_satoshis = 1 sigop_fee_satoshis = 100 minimum_output_satoshis = 500 relay_transactions = true refresh_transactions = true
Rejected block [block hash] from [127.0.0.1:28333] transaction inputs or outputs empty
I had to fetch the block using bitcoin-cli, since v3 of libbitcoin-explorer doesn’t have the fetch-block command. After this block gets rejected by libbitcoin-server, it gets stuck in an Ask [127.0.0.1:28333] for headers after [block hash] loop. This happens every night, while my regtest is running (I have a script that generates transactions and auto-mines blocks using bitcoind RPCs). From what I’ve seen, this always happens at a different block height (always below 500). Is this another segwit issue? Does bitcoind switch some bip on after a certain block height or # of transactions? Has anyone encountered this before?{
"hash": "0d97107287998ea7fbda63955d67994a7e4d0cf9d694ec0a0c3441eb448079c7",
"confirmations": 194,
"strippedsize": 37668,
"size": 37704,
"weight": 150708,
"height": 432,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "757b4586230223702d70d02dc4c4959db4aa7610e59aa7e1addfd28cce6072d4",
"tx": [
"573e51baed0c4fe3b6715d4026549a9b790b3684dbf74b35355ec7170d6e8aee",
"9affdf83dbdad6bf526f49a58a610b9cc7d695e49671f9e2f5ceea222369bece",
"992f4bfca5b0147758c017a21dc7a2b145243a8b0d4f3dd3ae7ebb699d543374",
"2fa63bc5467e1cfe5d2b4a8d0cafab60fbecab12a74d289db5728551b61ea70f",
"db7a51380e04396e1f751b52953b79d6f42eec85d6e45f51025b9608d0dc3d2c",
"ff2c4393cc6884852e4151f99f8018609bc98ce7d740cbcf5accc5f5579d903c",
"b2b798e963482464cce0b5b574aa6f568d064b8042d577b01483b7fb4208c44a",
"12d3eeb7537f01e48fa0b9ee438d9979de1e133875c6448e7c6dc548e39b2250",
"b83478b462e7dcccd65a7ac1d40332d754a7bd53ece38978cbb63fc2cae02e67",
"8a4238ddba561deaff5e56ab728f26ef41fc6a9f29d5a87309dae1a5a16aa68f",
"cf6c6cfc2fca3ac262fb8756a1f212e5934bc8dca48bb204c8003a7f378ae190",
"88a45674ca8f2b19795459c3a90ecbb0e539d2a15c353ad068b50f9398942a9a",
"0d160487d00f00b1a73915125a2fdda83dbd46edb2a544925d4e42eecffb4e9b",
"917c84aaa60a132207e7c5ebd5217aa10551c35d0fd26650aec6e8b3de7f6ca3",
"80ed5409068e7a6f504fce9677ac78994e97e08061c434b55309562b3d13b8b6",
"be5ca4e07773dd37c60645e38d68c5f88d7d232def9d39d884f8d22feba25bc3",
"78f79bd313e7f5cde9ee858b4db816363fdc1dd5bc46a43987e11c6aac057ed3",
"929bc8401d1843743d95427de16b8412c895f553ef76bfd3ad7660e9bef4dfd6",
"17b0dbb308057ca31a23c91f637297c41622eb49c38a48f628cd52e5c09920e5",
"163decbfd6bd333ea11dec933ceaca9439683ab7faf31387f4392219517d83e5",
"cbb583fcd439293f8f57a79877e507325bcbc89f24131544ee8cdebb217859ea",
"2c043df6da6786be5164ead5e7b2c9427c0673e7fa21349c9d0b403dfde584f2",
"84466e0a29ee31655c8c69def1fbea8dc22e4bb5062118c04eb04ee62a42d6f2",
"47ed3a84b47d77c8eb0e2de17fbe0e594e6f758926b10dc063ba589ffe1846f3",
"45bf91483e65c89aa1a9dfeb4565ed8df4abb1bb61f6fb77ccaccf269e3bd6f6",
"22d764b5f8dcf2508f8fa9caf03b6cdf0a07cc20e7d34fdbd1970e3482114f05",
"825ad2da2b10662ee74b5f034b27d5dd76fcfed5f6d03a4f15d069aef255c40d",
"8616dd279490a85fbf8d3f5a881b6c52689e3ac23f60b69976d8049c3680201e",
"56d2d13e2db128fb53be519278ef40fb30a59b6fd39a8803737aa89bbca83034", full fileSegwit is now always active in regtest mode by default.generate` or `generatetoaddress`` RPCs. The configuration is more or less identical to the one in the libbitcoin-server wiki. We're using version 3.4 for libbitcoin-server and 0.17.0 for bitcoind. Are there any settings that have not been described on the wiki? Any ideas would be greatly appreciated.right, so for 256 bit seed I'd make 256 dice rolls and write down the result ... and then convert each 8 bits to a byte / uint8_t and put that in a data_chunk?
vbparams command line arg in 0.16, which allows this (I ran it with -vbparams=segwit:999999999999:999999999999, which basically disables segwit). I still have no idea why segwit blocks are rejected by libbitcoin-server, though - it obviously works on testnet, I see no reason why it wouldn’t work on regtest. I played around with libbitcoin-server’s configuration, but to no avail.include/bitcoin/bitcoin/constants.hpp? The bip9 checkpoints? The block hash and height seem correctly set to the genesis block 🤔bx fetchbalance command. seems like this does some lookup to some other servers correct? is that query private? and if i wanted to query a local node then i shuold install and run libbitcoin-server?server.block_url and server.transaction_url which seem to be unnecessaryblockchain.fetch_block_height but all i get back in the response is the command name, not other response as far as i can see<Buffer d2 04 00 00> followed by <Buffer 00 00 00 00 fb 0b 16 00>bs on testnet and it got about half way i think, but my machine rebooted. Now i can’t restart bs and continue syncing. How do i find out what’s up? Logs just show 19:05:30.696904 ERROR [node] Failure starting blockchain. 19:05:30.697270 ERROR [server] Server failed to start with error, operation failed
rm -rf the blockchain store and start the sync overtx_database::get_output fetches any stored output, and queries an in-memory unspent_output cache first, but it doesn’t return whether the output is spent or not, does it?
— Each tx output in the database can be marked with a spender_height, but I can’t find where that value is read anywhere.
So tx_database::get_output seems to be optimised for unspent outputs, but I can’t see how it tells the caller whether the output is indeed spent/unspent. What call should I use for validating whether prevout is valid?spend_database could provide that information, but it doesn’t have the unspent_outputs cache optimisation … so that’s confusing me a little.