From 695019fd7d0859dfabf123ab62641cba3396011f Mon Sep 17 00:00:00 2001 From: Alejandro Cabeza Romero Date: Tue, 20 Jan 2026 16:09:40 +0100 Subject: [PATCH] Rename nomos usages to logos blockchain. --- .gitignore | 6 +- CMakeLists.txt | 52 ++-- config.yaml | 733 +++++++++++++++++++++++++++++++++++++++++-------- flake.lock | 18 +- flake.nix | 2 +- justfile | 16 +- library.cpp | 6 +- 7 files changed, 667 insertions(+), 166 deletions(-) diff --git a/.gitignore b/.gitignore index 08b6374..154b8a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ .qt/ +*.bak # CMake generated files Makefile @@ -7,10 +8,13 @@ CMakeFiles/ CMakeCache.txt cmake_install.cmake cmake-build-debug +.cache/ +build/ # Artifacts liblogos-blockchain-module.so liblogos-blockchain-module.log # Node -nomos_db/ \ No newline at end of file +logos_blockchain_db/ +resources/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 7934dcc..b233d0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,45 +35,45 @@ add_custom_command( ) add_custom_target(logos_blockchain_stage DEPENDS "${LOGOS_BLOCKCHAIN_STAGE_STAMP}") -# ---- build + stage nomos-c (Rust) ---- +# ---- build + stage c-bindings (Rust) ---- set(LOGOS_INSTALL_DIR "${CMAKE_BINARY_DIR}/logos_stage") file(MAKE_DIRECTORY "${LOGOS_INSTALL_DIR}/include" "${LOGOS_INSTALL_DIR}/lib") set(CARGO_TARGET_DIR "${CMAKE_BINARY_DIR}/cargo-target") if(APPLE) - set(NOMOS_EXT ".dylib") + set(LOGOS_BLOCKCHAIN_EXT ".dylib") elseif(WIN32) - set(NOMOS_EXT ".dll") + set(LOGOS_BLOCKCHAIN_EXT ".dll") else() - set(NOMOS_EXT ".so") + set(LOGOS_BLOCKCHAIN_EXT ".so") endif() -set(NOMOS_C_SOURCE_DYLIB_NAME "liblibnomos${NOMOS_EXT}" CACHE STRING "Filename produced by cargo") -set(NOMOS_C_STAGED_DYLIB_NAME "libnomos${NOMOS_EXT}" CACHE STRING "Filename staged next to plugin") -set(NOMOS_C_HEADER_NAME "libnomos.h" CACHE STRING "Header in nomos-c crate root") +set(LOGOS_BLOCKCHAIN_C_SOURCE_DYLIB_NAME "liblib_logos_blockchain${LOGOS_BLOCKCHAIN_EXT}" CACHE STRING "Filename produced by cargo") +set(LOGOS_BLOCKCHAIN_C_STAGED_DYLIB_NAME "lib_logos_blockchain${LOGOS_BLOCKCHAIN_EXT}" CACHE STRING "Filename staged next to plugin") +set(LOGOS_BLOCKCHAIN_C_HEADER_NAME "lib_logos_blockchain.h" CACHE STRING "Header in c-bindings crate root") -set(NOMOS_STAGED_DYLIB "${LOGOS_INSTALL_DIR}/lib/${NOMOS_C_STAGED_DYLIB_NAME}") -set(NOMOS_STAGED_HEADER "${LOGOS_INSTALL_DIR}/include/${NOMOS_C_HEADER_NAME}") +set(LOGOS_BLOCKCHAIN_STAGED_DYLIB "${LOGOS_INSTALL_DIR}/lib/${LOGOS_BLOCKCHAIN_C_STAGED_DYLIB_NAME}") +set(LOGOS_BLOCKCHAIN_STAGED_HEADER "${LOGOS_INSTALL_DIR}/include/${LOGOS_BLOCKCHAIN_C_HEADER_NAME}") set(PATCHELF_COMMANDS "") if(UNIX AND NOT APPLE AND NOT WIN32) find_program(PATCHELF_EXE patchelf REQUIRED) set(PATCHELF_COMMANDS - COMMAND ${PATCHELF_EXE} --set-soname "${NOMOS_C_STAGED_DYLIB_NAME}" "${NOMOS_STAGED_DYLIB}" + COMMAND ${PATCHELF_EXE} --set-soname "${LOGOS_BLOCKCHAIN_C_STAGED_DYLIB_NAME}" "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" ) endif() add_custom_command( - OUTPUT "${NOMOS_STAGED_DYLIB}" + OUTPUT "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" COMMAND ${CMAKE_COMMAND} -E make_directory "${CARGO_TARGET_DIR}" COMMAND ${CMAKE_COMMAND} -E env CARGO_TERM_COLOR=always CARGO_TARGET_DIR=${CARGO_TARGET_DIR} - cargo build --release --package nomos-c + cargo build --release --package logos-blockchain-c COMMAND ${CMAKE_COMMAND} -E copy - "${CARGO_TARGET_DIR}/release/${NOMOS_C_SOURCE_DYLIB_NAME}" - "${NOMOS_STAGED_DYLIB}" + "${CARGO_TARGET_DIR}/release/${LOGOS_BLOCKCHAIN_C_SOURCE_DYLIB_NAME}" + "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" ${PATCHELF_COMMANDS} DEPENDS "${LOGOS_BLOCKCHAIN_STAGE_STAMP}" WORKING_DIRECTORY "${LOGOS_BLOCKCHAIN_WORKDIR}" @@ -81,22 +81,22 @@ add_custom_command( ) add_custom_command( - OUTPUT "${NOMOS_STAGED_HEADER}" + OUTPUT "${LOGOS_BLOCKCHAIN_STAGED_HEADER}" COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${LOGOS_BLOCKCHAIN_WORKDIR}/nomos-c/${NOMOS_C_HEADER_NAME}" - "${NOMOS_STAGED_HEADER}" - DEPENDS "${NOMOS_STAGED_DYLIB}" + "${LOGOS_BLOCKCHAIN_WORKDIR}/c-bindings/${LOGOS_BLOCKCHAIN_C_HEADER_NAME}" + "${LOGOS_BLOCKCHAIN_STAGED_HEADER}" + DEPENDS "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" VERBATIM ) -add_custom_target(logos_cargo_build DEPENDS "${NOMOS_STAGED_DYLIB}" "${NOMOS_STAGED_HEADER}") +add_custom_target(logos_cargo_build DEPENDS "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" "${LOGOS_BLOCKCHAIN_STAGED_HEADER}") -add_library(nomos_c SHARED IMPORTED GLOBAL) -set_target_properties(nomos_c PROPERTIES - IMPORTED_LOCATION "${NOMOS_STAGED_DYLIB}" +add_library(logos_blockchain_c SHARED IMPORTED GLOBAL) +set_target_properties(logos_blockchain_c PROPERTIES + IMPORTED_LOCATION "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" INTERFACE_INCLUDE_DIRECTORIES "${LOGOS_INSTALL_DIR}/include" ) -add_dependencies(nomos_c logos_cargo_build) +add_dependencies(logos_blockchain_c logos_cargo_build) # ---- logos-cpp-sdk ---- add_library(logos_cpp_sdk INTERFACE) @@ -129,7 +129,7 @@ target_sources(${PLUGIN_TARGET} PRIVATE target_link_libraries(${PLUGIN_TARGET} PRIVATE Qt6::Core - nomos_c + logos_blockchain_c logos_cpp_sdk logos_core ) @@ -148,8 +148,8 @@ endif() add_custom_command(TARGET ${PLUGIN_TARGET} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${NOMOS_STAGED_DYLIB}" - "$/${NOMOS_C_STAGED_DYLIB_NAME}" + "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}" + "$/${LOGOS_BLOCKCHAIN_C_STAGED_DYLIB_NAME}" VERBATIM ) diff --git a/config.yaml b/config.yaml index 9d443cc..10c2932 100644 --- a/config.yaml +++ b/config.yaml @@ -1,93 +1,627 @@ -tracing: - logger: !Stdout - tracing: None - filter: None - metrics: None - console: None - level: DEBUG network: backend: swarm: host: 0.0.0.0 - port: 3000 - node_key: ea1e1dcc31612bd20987f017f0ca435cd2a59a4bd9fd6e14883b4803ae3b803d - initial_peers: [ ] + port: 50055 + node_key: 04a2eac703bbb971f3a745aa9fbe04d51b747e0b262493542df029d34b3c4b41 + gossipsub_config: + history_length: 5 + history_gossip: 3 + mesh_n: 6 + mesh_n_low: 5 + mesh_n_high: 12 + retain_scores: 4 + gossip_lazy: 6 + gossip_factor: 0.25 + heartbeat_initial_delay: + secs: 5 + nanos: 0 + heartbeat_interval: + secs: 1 + nanos: 0 + fanout_ttl: + secs: 60 + nanos: 0 + check_explicit_peers_ticks: 300 + duplicate_cache_time: + secs: 60 + nanos: 0 + validate_messages: false + allow_self_origin: false + do_px: false + prune_peers: 0 + prune_backoff: + secs: 60 + nanos: 0 + unsubscribe_backoff: + secs: 10 + nanos: 0 + backoff_slack: 1 + flood_publish: true + graft_flood_threshold: + secs: 10 + nanos: 0 + mesh_outbound_min: 2 + opportunistic_graft_ticks: 60 + opportunistic_graft_peers: 2 + gossip_retransimission: 3 + max_messages_per_rpc: null + max_ihave_length: 5000 + max_ihave_messages: 10 + iwant_followup_time: + secs: 3 + nanos: 0 + published_message_ids_cache_time: + secs: 10 + nanos: 0 + kademlia_config: + client_mode: false + identify_config: {} + chain_sync_config: + peer_response_timeout: 60000 + nat_config: + type: traversal + autonat: + retest_successful_external_addresses_interval: + secs: 0 + nanos: 0 + mapping: + timeout: '1.000000000' + lease_duration: + secs: 7200 + nanos: 0 + max_retries: 3 + renewal_delay_fraction: 0.8 + retry_interval: + secs: 30 + nanos: 0 + gateway_monitor: + check_interval: + secs: 300 + nanos: 0 + initial_peers: [] blend: - non_ephemeral_signing_key: 32e4b52b78e0e8273f31e2ae0826d09b0348d4c66824af4f51ec4ef338082211 - recovery_path_prefix: ./recovery/blend + non_ephemeral_signing_key: e41bc897e7ea9f685744984a27597c16fcb255c1e456b3ea312889948c5e4ba6 + recovery_path_prefix: ./resources/recovery/blend core: backend: - listening_address: /ip4/127.0.0.1/udp/3001/quic-v1 + listening_address: /ip4/127.0.0.1/udp/61630/quic-v1 core_peering_degree: - start: 4 - end: 8 + start: 1 + end: 3 edge_node_connection_timeout: secs: 1 nanos: 0 max_edge_node_incoming_connections: 300 max_dial_attempts_per_peer: 3 zk: - secret_key_kms_id: 32e4b52b78e0e8273f31e2ae0826d09b0348d4c66824af4f51ec4ef338082211 + secret_key_kms_id: 93eac7a7892d5f287d0a03920c7713e2b04c9c3353d6bbeddea51938d94b2d02 edge: backend: max_dial_attempts_per_peer_per_message: 1 replication_factor: 1 -deployment: mainnet -da_network: - backend: - node_key: ea1e1dcc31612bd20987f017f0ca435cd2a59a4bd9fd6e14883b4803ae3b803d - listening_address: /ip4/127.0.0.1/udp/8716/quic-v1 - policy_settings: - min_dispersal_peers: 1 - min_replication_peers: 1 - max_dispersal_failures: 3 - max_sampling_failures: 3 - max_replication_failures: 3 - malicious_threshold: 5 - monitor_settings: - failure_time_window: "10.0" - time_decay_factor: "0.8" - balancer_interval: +deployment: + blend: + common: + num_blend_layers: 3 + timing: + rounds_per_session: 648000 + rounds_per_interval: 30 + round_duration: '1.000000000' + rounds_per_observation_window: 30 + rounds_per_session_transition_period: 30 + epoch_transition_period_in_slots: 2600 + minimum_network_size: 30 + protocol_name: /blend/integration-tests + core: + scheduler: + cover: + message_frequency_per_round: 1.0 + intervals_for_safety_buffer: 100 + delayer: + maximum_release_delay_in_rounds: 3 + minimum_messages_coefficient: 1 + normalization_constant: 1.03 + network: + kademlia_protocol_name: /integration/nomos/kad/1.0.0 + identify_protocol_name: /integration/nomos/identify/1.0.0 + chain_sync_protocol_name: /integration/nomos/chainsync/1.0.0 + cryptarchia: + epoch_config: + epoch_stake_distribution_stabilization: 3 + epoch_period_nonce_buffer: 3 + epoch_period_nonce_stabilization: 4 + consensus_config: + security_param: 10 + active_slot_coeff: 0.9 + sdp_config: + service_params: + BN: + lock_period: 10 + inactivity_period: 20 + retention_period: 100 + timestamp: 0 + session_duration: 21600 + DA: + lock_period: 10 + inactivity_period: 20 + retention_period: 100 + timestamp: 0 + session_duration: 1000 + min_stake: + threshold: 1 + timestamp: 0 + gossipsub_protocol: /integration/nomos/cryptarchia/proto/1.0.0 + time: + slot_duration: secs: 5 nanos: 0 + mempool: + pubsub_topic: mantle_e2e_tests +cryptarchia: + service: + starting_state: !Genesis + genesis_tx: + mantle_tx: + ops: + - opcode: 0 + payload: + channel_id: '0000000000000000000000000000000000000000000000000000000000000000' + inscription: + - 103 + - 101 + - 110 + - 101 + - 115 + - 105 + - 115 + parent: '0000000000000000000000000000000000000000000000000000000000000000' + signer: '0000000000000000000000000000000000000000000000000000000000000000' + - opcode: 32 + payload: + service_type: BN + locators: + - /ip4/127.0.0.1/udp/61630/quic-v1 + provider_id: e41bc897e7ea9f685744984a27597c16fcb255c1e456b3ea312889948c5e4ba6 + zk_id: 93eac7a7892d5f287d0a03920c7713e2b04c9c3353d6bbeddea51938d94b2d02 + locked_note_id: 2119191d5009705dfb2d35940c8e553347bca0ae7f6d74e041fa7722e6d50530 + ledger_tx: + inputs: [] + outputs: + - value: 1000 + pk: 9226c3fcd0da17af7f381e413fb8948dc7b351a31ce38ed178915de8d2903e1b + - value: 1 + pk: 1d957fda30fd9dd8e49f7cda2dc42d4e3b2f434129e8d3d89fe974739629a403 + - value: 1 + pk: cde1ad2cbc8f717f84f204dace4009e5dd589cb92525da05624de24ca2c46622 + execution_gas_price: 0 + storage_gas_price: 0 + ops_proofs: + - NoProof + - !ZkAndEd25519Sigs + zk_sig: + pi_a: + - 141 + - 53 + - 175 + - 207 + - 241 + - 76 + - 83 + - 49 + - 183 + - 246 + - 183 + - 244 + - 244 + - 77 + - 44 + - 157 + - 129 + - 217 + - 39 + - 255 + - 33 + - 77 + - 82 + - 253 + - 125 + - 136 + - 112 + - 13 + - 216 + - 38 + - 244 + - 172 + pi_b: + - 43 + - 24 + - 251 + - 193 + - 251 + - 207 + - 76 + - 255 + - 250 + - 174 + - 123 + - 215 + - 116 + - 179 + - 46 + - 150 + - 76 + - 219 + - 86 + - 29 + - 38 + - 77 + - 35 + - 229 + - 211 + - 171 + - 100 + - 62 + - 200 + - 57 + - 35 + - 28 + - 129 + - 94 + - 91 + - 0 + - 171 + - 142 + - 70 + - 122 + - 156 + - 218 + - 172 + - 251 + - 53 + - 153 + - 157 + - 71 + - 196 + - 210 + - 58 + - 241 + - 87 + - 7 + - 114 + - 118 + - 101 + - 194 + - 188 + - 201 + - 14 + - 167 + - 79 + - 158 + pi_c: + - 48 + - 12 + - 40 + - 241 + - 136 + - 46 + - 231 + - 234 + - 64 + - 40 + - 126 + - 38 + - 67 + - 49 + - 169 + - 93 + - 237 + - 117 + - 54 + - 49 + - 26 + - 136 + - 33 + - 24 + - 104 + - 32 + - 65 + - 81 + - 254 + - 249 + - 38 + - 8 + ed25519_sig: + - 141 + - 93 + - 198 + - 203 + - 32 + - 244 + - 192 + - 185 + - 235 + - 94 + - 254 + - 37 + - 165 + - 124 + - 58 + - 225 + - 59 + - 37 + - 134 + - 244 + - 124 + - 65 + - 226 + - 86 + - 232 + - 29 + - 249 + - 145 + - 140 + - 170 + - 133 + - 85 + - 48 + - 129 + - 235 + - 130 + - 110 + - 174 + - 216 + - 202 + - 247 + - 246 + - 210 + - 208 + - 120 + - 175 + - 97 + - 7 + - 57 + - 3 + - 240 + - 56 + - 93 + - 72 + - 192 + - 116 + - 60 + - 193 + - 189 + - 137 + - 59 + - 38 + - 17 + - 4 + ledger_tx_proof: + pi_a: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + pi_b: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + pi_c: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + recovery_file: ./resources/recovery/cryptarchia.json + bootstrap: + prolonged_bootstrap_period: '1.000000000' + force_bootstrap: false + offline_grace_period: + grace_period: '1200.000000000' + state_recording_interval: '60.000000000' + network: + bootstrap: + ibd: + peers: [] + delay_before_new_download: + secs: 10 + nanos: 0 + sync: + orphan: + max_orphan_cache_size: 5 + leader: + pk: 9226c3fcd0da17af7f381e413fb8948dc7b351a31ce38ed178915de8d2903e1b + sk: 6c6404a2eac703bbb971f3a745aa9fbe00000000000000000000000000000000 +time: + backend: + ntp_server: pool.ntp.org + ntp_client_settings: + timeout: '5.000000000' + listening_interface: 0.0.0.0 + update_interval: '16.000000000' + chain_start_time: 2026-01-19 15:05:09.037333 +00:00:00 +mempool: + recovery_path: ./resources/recovery/mempool.json +tracing: + logger: !File + directory: ./resources/tests/logs + prefix: __logs + tracing: None + filter: None + metrics: None + console: None + level: DEBUG +da_network: + backend: + node_key: 04a2eac703bbb971f3a745aa9fbe04d51b747e0b262493542df029d34b3c4b41 + listening_address: /ip4/127.0.0.1/udp/50676/quic-v1 + policy_settings: + min_dispersal_peers: 0 + min_replication_peers: 1 + max_dispersal_failures: 0 + max_sampling_failures: 0 + max_replication_failures: 0 + malicious_threshold: 0 + monitor_settings: + failure_time_window: '5.000000000' + time_decay_factor: '0' + balancer_interval: + secs: 1 + nanos: 0 redial_cooldown: - secs: 5 + secs: 0 nanos: 0 replication_settings: seen_message_cache_size: 1000 - seen_message_ttl: "3600.0" + seen_message_ttl: '3600.000000000' subnets_settings: - num_of_subnets: 20 - shares_retry_limit: 5 - commitments_retry_limit: 5 + num_of_subnets: 1 + shares_retry_limit: 1 + commitments_retry_limit: 1 membership: - replication_factor: 2 subnetwork_size: 2 + replication_factor: 1 + session_id: 0 api_adapter_settings: - api_port: 8722 + api_port: 64103 is_secure: false subnet_refresh_interval: secs: 30 nanos: 0 - subnet_threshold: 2048 + subnet_threshold: 2 min_session_members: 2 da_verifier: share_verifier_settings: - global_params_path: ./tests/kzgrs/kzgrs_test_params + global_params_path: ./resources/tests/kzgrs/kzgrs_test_params domain_size: 2 tx_verifier_settings: null network_adapter_settings: null storage_adapter_settings: - blob_storage_directory: ./ + blob_storage_directory: ./resources/tests/da_verifier/blobs mempool_trigger_settings: publish_threshold: 0.8 - share_duration: [ 5, 0 ] - prune_duration: [ 30, 0 ] - prune_interval: [ 5, 0 ] + share_duration: '5.000000000' + prune_duration: '30.000000000' + prune_interval: '5.000000000' +sdp: + declaration: null da_sampling: - share_verifier_settings: - global_params_path: ./tests/kzgrs/kzgrs_test_params - domain_size: 2 sampling_settings: num_samples: 1 num_subnets: 2 @@ -95,88 +629,47 @@ da_sampling: secs: 5 nanos: 0 blobs_validity_duration: - secs: 18446744073709551615 + secs: 60 nanos: 0 + share_verifier_settings: + global_params_path: ./resources/tests/kzgrs/kzgrs_test_params + domain_size: 2 commitments_wait_duration: - secs: 2 + secs: 1 nanos: 0 sdp_blob_trigger_sampling_delay: secs: 5 nanos: 0 http: backend_settings: - address: 127.0.0.1:8722 - cors_origins: [ ] -time: - chain_start_time: [ 2025, 41, 9, 38, 29, 993653000, 0, 0, 0 ] - backend: - update_interval: [ 16, 0 ] - ntp_server: pool.ntp.org - ntp_client_settings: - timeout: [ 5, 0 ] - listening_interface: 0.0.0.0 -cryptarchia: - service: - starting_state: !Genesis - genesis_tx: - mantle_tx: - ops: - - opcode: 0 - payload: - channel_id: "0000000000000000000000000000000000000000000000000000000000000000" - inscription: [ 103, 101, 110, 101, 115, 105, 115 ] # "genesis" in bytes - parent: "0000000000000000000000000000000000000000000000000000000000000000" - signer: "0000000000000000000000000000000000000000000000000000000000000000" - ledger_tx: - inputs: [] - outputs: - - value: 1 - pk: d204000000000000000000000000000000000000000000000000000000000000 - execution_gas_price: 0 - storage_gas_price: 0 - ops_proofs: [NoProof] - ledger_tx_proof: - pi_a: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] - pi_b: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] - pi_c: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] - recovery_file: ./recovery/cryptarchia.json - bootstrap: - prolonged_bootstrap_period: [ 86400, 0 ] - force_bootstrap: false - offline_grace_period: - grace_period: [ 1200, 0 ] - state_recording_interval: [ 60, 0 ] - network: - bootstrap: - ibd: - peers: [ ] - sync: - orphan: - max_orphan_cache_size: 5 - leader: - pk: "0000000000000000000000000000000000000000000000000000000000000000" - sk: 3cf3335017304dcfce45124a0633829f00000000000000000000000000000000 + address: 127.0.0.1:64103 + cors_origins: [] + timeout: + secs: 30 + nanos: 0 + max_body_size: 10485760 + max_concurrent_requests: 1000 + rate_limit_per_second: 10000 + rate_limit_burst: 10000 storage: - db_path: nomos_db + db_path: ./resources/tests/db read_only: false column_family: blocks -mempool: - recovery_path: ./recovery/mempool.json -sdp: -wallet: - known_keys: - - "0000000000000000000000000000000000000000000000000000000000000000" key_management: keys: - leader_key: !Zk 3cf3335017304dcfce45124a0633829f00000000000000000000000000000000 + 93eac7a7892d5f287d0a03920c7713e2b04c9c3353d6bbeddea51938d94b2d02: !Zk e11bc8c72b0afa9ca3f26bdd4da0e09de4a9d13cc185c2c1b447f4f033731e15 + e41bc897e7ea9f685744984a27597c16fcb255c1e456b3ea312889948c5e4ba6: !Ed25519 04a2eac703bbb971f3a745aa9fbe04d51b747e0b262493542df029d34b3c4b41 +wallet: + known_keys: + - 9226c3fcd0da17af7f381e413fb8948dc7b351a31ce38ed178915de8d2903e1b +testing_http: + backend_settings: + address: 127.0.0.1:64104 + cors_origins: [] + timeout: + secs: 30 + nanos: 0 + max_body_size: 10485760 + max_concurrent_requests: 1000 + rate_limit_per_second: 10000 + rate_limit_burst: 10000 diff --git a/flake.lock b/flake.lock index 81daa1b..a7f9200 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "logos-blockchain": { "flake": false, "locked": { - "lastModified": 1766044894, - "narHash": "sha256-q0TmdaWxtIJCj3+Cvyg/gClVW3C+FfknqsRRVYJu8fE=", + "lastModified": 1768919760, + "narHash": "sha256-YJ8VjYl8QgT7htdAsy38bgKzpYB2k4jn8Y820Swqbmg=", "owner": "logos-blockchain", "repo": "logos-blockchain", - "rev": "4db92033b044b0e4eb3cc1f6ed001078f7106ac1", + "rev": "73d977aa5e9ffb2de8d7708b29be2f00636aa22b", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1765478537, - "narHash": "sha256-MsYbIznSibDaZbf5tOUmw1k53PqXKM8A8ybbKTuAnjo=", + "lastModified": 1767724329, + "narHash": "sha256-UPkqxqxbKwU5Dmu00TnjiJVXUmfVylF3p1qziEuYwIE=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "8a69971bc2816992920bebde882ffe12a3eaaf30", + "rev": "32f1d7080d784ff044d91d076ef2f0c7305d4784", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1764788130, - "narHash": "sha256-ieu55pelIMUO/m7fLXUS3JT6sNBBHva0lNc1GRH2hb0=", + "lastModified": 1768343028, + "narHash": "sha256-4LvsuZTDTlLtfMF4C69ls+lmkYJWD7LZitS04Mc+8UI=", "owner": "logos-co", "repo": "logos-liblogos", - "rev": "3046aa6ac4392a705b2890adec405d7c9d8d4178", + "rev": "a76d33f5519af0ee12317c8f149eee2ac5d292a0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 298832e..ada1f62 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Logos blockchain module - Qt6 plugin wrapping nomos-c (Nix)"; + description = "Logos Blockchain Module - Qt6 Plugin (Nix)"; inputs = { nixpkgs.follows = "logos-liblogos/nixpkgs"; diff --git a/justfile b/justfile index d1d76b7..8c8494f 100644 --- a/justfile +++ b/justfile @@ -11,9 +11,7 @@ configure: build: cmake --build build --parallel --target liblogos-blockchain-module -update: - rm -rf build/logos_blockchain_src - rm -rf build/logos_stage +update: clean-full cmake --build build --parallel --target logos_blockchain_stage cmake --build build --parallel --target logos_cargo_build just build @@ -22,7 +20,7 @@ clean: rm -f build/liblogos-blockchain-module.so rm -f liblogos-blockchain-module.so rm -f liblogos-blockchain-module.log - rm -rf nomos_db/ + rm -rf logos_blockchain_db/ clean-full: clean rm -rf build @@ -30,11 +28,17 @@ clean-full: clean rebuild: clean configure build run: - ../logos-module-viewer/result/bin/logos-module-viewer --module liblogos-blockchain-module.so > liblogos-blockchain-module.log 2>&1 + RUST_BACKTRACE=full RUST_LOG=trace ../logos-module-viewer/result/bin/logos-module-viewer --module liblogos-blockchain-module.so > liblogos-blockchain-module.log 2>&1 nix: nix develop .# # View the log with unicode characters rendered +unicode-logs file: + perl -pe 's/\\u([0-9A-Fa-f]{4})/chr(hex($1))/ge' {{ file }} | less -R + logs: - perl -pe 's/\\u([0-9A-Fa-f]{4})/chr(hex($1))/ge' liblogos-blockchain-module.log | less -R + just unicode-logs liblogos-blockchain-module.log + +logs-tail: + tail -f liblogos-blockchain-module.log | perl -pe 's/\\u([0-9A-Fa-f]{4})/chr(hex($1))/ge' diff --git a/library.cpp b/library.cpp index 89ca09f..438b51e 100644 --- a/library.cpp +++ b/library.cpp @@ -5,7 +5,7 @@ #ifdef __cplusplus extern "C" { #endif -#include +#include #ifdef __cplusplus } #endif @@ -15,7 +15,7 @@ class LogosBlockchainModule : public LogosBlockchainModuleAPI { Q_PLUGIN_METADATA(IID LogosBlockchainModuleInterface_iid FILE "metadata.json") private: - NomosNode* node = nullptr; + LogosBlockchainNode* node = nullptr; public: LogosBlockchainModule() = default; @@ -38,7 +38,7 @@ public: } const QByteArray path = config_path.toUtf8(); - InitializedNomosNodeResult result = start_nomos_node(path.constData()); + InitializedLogosBlockchainNodeResult result = start_lb_node(path.constData()); if (!is_ok(&result.error)) { qCritical() << "Failed to start Nomos node. Error code:" << result.error;