Read-only snapshot mirror of Distortions81/M45-goPool (AGPL-3.0) — pinned build base for dvb-gopool
  • Go 75.7%
  • Go Template 18.5%
  • HTML 2.5%
  • CSS 2%
  • Shell 1.1%
  • Other 0.2%
Find a file
dvb-projekt d742749240
Some checks failed
Go CI / unit (push) Failing after 16s
Go Vulncheck / vulncheck (push) Successful in 12m51s
Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308
Pre-rewrite upstream main as of 2026-06-12, mirrored 2026-07-07 as the
pinned build base for dvb-gopool v0.3.2-patched.70 after the upstream
repo force-pushed a rewritten history on 2026-07-04. Upstream license:
AGPL-3.0 (see LICENSE).
2026-07-07 15:16:30 +02:00
.github Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
data Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
documentation Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
LICENSES Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
scripts Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
.gitignore Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
accept_rate_limiter.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
accept_rate_limiter_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
accounting.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
accounting_fuzz_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
address.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
address_roundtrip_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
address_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
admin_config.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
backblaze_backup.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
backblaze_backup_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
ban_expiry_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
bip110.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
bip110_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
block_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
block_validity_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
clerk_auth.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
coinbase_btcd_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
coinbase_fuzz_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
coinbase_multi_output_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
coinbase_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
coinbase_wallet_types_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_autoconfig.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_build.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_examples.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_feature_gates.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_file_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_load.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_rpc.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_target_shares_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
config_validate.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
const.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
cross_impl_sanity_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
default.pgo Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
defaults.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
difficulty_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
difficulty_fuzz_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
difficulty_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_bot_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_commands.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_config.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_network.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_poll.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_queue.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notifier_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
discord_notify_state.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
docker-compose.yml Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
Dockerfile Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
embedded_assets.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
env.example Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
found_block_async.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
found_block_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
generated_wallet_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
go.mod Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
go.sum Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
hash_sha256_common.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
hash_sha256_noavx.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
hash_sha256_simd.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
http_fallback.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_block.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_block_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_build.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_coinbase.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_coinbase_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_feed.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_hash.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_id_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_manager.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_manager_node_sync_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_nozmq_history_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_refresh.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_subscribe.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_utils.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_utils_hex_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_utils_hex_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_validate.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_zmq_blocktip_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_zmq_rawblock_refresh_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
job_zmq_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
json_cache_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
jsonx_common.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
jsonx_pretouch_sonic.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
jsonx_sonic.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
jsonx_std.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
LICENSE Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
logging.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
logo.png Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
main.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
merkle_branches_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
metrics.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_atomic.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_auth.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_auth_order_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_auth_variants_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_authorize_ban_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_ban.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_ban_forgiveness_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_conn.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_conn_unknown_method_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_decode_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_duplicates.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_fuzz_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_get_transactions_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_hashrate_ema_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_io.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_io_subscribe_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_log_found_block_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_notify_jobid_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_profile_collector.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_rate_limit_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_registry.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_rejects.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_response_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_rpc.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_startup_priming_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_stats.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_stats_snapshot_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_async_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_block.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_block_safety_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_context.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_handlers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_modes_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_parse.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_process.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_submit_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_suggest_ban_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_tuning_quality_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_vardiff_steps_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_vardiff_virtual_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_wallet.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_wallet_saved_worker_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_wallet_single_payout_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
miner_warn_before_ban_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
netlog.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
netlog_stub.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
network_params.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
one_time_code.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
one_time_code_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
path_traversal_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
payout_debug_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
payout_helpers_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
payout_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
payout_wrapper_selection_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
pending_submissions.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
pending_submissions_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
performance.md Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
pogolo_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
pool_tag.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
pow_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
price.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
profile.svg Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
README.md Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
reconnect_tracker.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
rpc.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
rpc_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
rpc_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
runtime_overrides.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
saved_workers_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
saved_workers_display_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
Screenshot_20260215_055225.png Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
share_detail.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
share_detail_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
si_quant.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
si_quant_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
state_db.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
state_db_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_bench_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_cache.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_confidence_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_constants.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_data_base.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_data_build.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_data_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_data_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_display_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_display_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_error_history.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_hashrate_accuracy_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_hashrate_calc_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_net_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_peer.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_pool_hashrate_history.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_pool_hashrate_history_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_pool_tag.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_pool_tag_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_rate_limiter.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_response_cache.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_saved_worker_periods.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_saved_worker_periods_persist.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_saved_worker_periods_persist_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_saved_worker_periods_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_auth.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_config.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_handlers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_helpers_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_logs.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_settings_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_admin_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_cache.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_censor.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_clerk.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_clerk_local_noauth_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_http.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_http_node_down_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_http_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_json.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_json_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_struct.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_server_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_share_rate_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_snapshot.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_stratum_disconnect_events.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_sysinfo.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_template_funcs_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_templates_load_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_worker_view.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_clerk_handlers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_handlers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_lookup_redirect_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_saved.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_saved_history_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_static.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_worker_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
status_workers_worker_helpers_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
stratum_health.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
stratum_health_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
submission_worker_pool.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
submit_response_order_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
submit_timing_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
taproot_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
tcp_rtt_linux.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
tcp_rtt_stub.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
test_helpers_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
THIRD_PARTY_NOTICES.md Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
timeutil.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
tls_cert.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
tls_cert_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
validate_all_test_data.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
version_mask_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
wallet_fuzz_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
wallet_validation_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
wallet_validation_test_helpers.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
witness_strip_compat_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_hash.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_backfill_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_bestdiff.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_clerk.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_close.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_discord.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_discord_state.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_migration_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_minutebest.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_open.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_saved.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_saved_storage_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_list_store_types.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_lookup_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_page_cache_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_registry.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00
worker_registry_test.go Snapshot of upstream Distortions81/M45-goPool @ 1f37fd369308 2026-07-07 15:16:30 +02:00

goPool logo M45-goPool

Go CI Go Vulncheck Coverage Go Report Card License

goPool is a from-scratch Golang solo Bitcoin mining pool. It connects directly to Bitcoin Core over JSON-RPC and ZMQ, exposes Stratum v1 (with optional TLS), and ships with a status UI + JSON APIs for monitoring.

What this project is

  • A solo Bitcoin pool server written in Go from the ground up for this project.
  • A direct integration with Bitcoin Core (no external pool engine dependency).
  • A self-hosted stack: Stratum endpoint, web status UI, and JSON APIs.

Feature highlights

  • Simple live dashboard to quickly see pool health and mining activity.

  • Worker pages so you can check each rig's speed and recent performance.

  • Online/offline status so you can quickly see which miners are up or down.

  • Saved workers so your favorite rigs are easy to revisit anytime.

  • 24-hour hashrate charts to spot drops, spikes, and stability trends.

  • Best share tracking so you can see standout shares over time.

  • Discord pings (optional): alerts when a saved worker goes offline, when it has been back online long enough to count as recovered, and when a saved worker finds a block.

  • Easy connect details shown on the site for miner setup.

  • Solo mining core: builds and submits Bitcoin blocks directly against Bitcoin Core (getblocktemplate + submitblock) with JSON-RPC and optional ZMQ acceleration.

  • Stratum v1 server: supports mining.subscribe, mining.authorize, mining.submit, mining.configure, CKPool-style mining.auth, and optional Stratum TLS.

  • Compatibility controls: CKPool subscribe-response emulation, version-rolling support, suggest-difficulty handling, optional mining.set_extranonce and mining.set_version_mask notifications.

  • Share-policy controls: duplicate checks, nTime and version-rolling checks, worker-match enforcement, stale-job freshness modes, and optional inline submit processing.

  • VarDiff + hashrate telemetry: configurable difficulty clamps/targets, EMA smoothing, worker/pool hashrate history, and best-share tracking.

  • Safety and resilience: node/job-feed health gating (disconnect/refuse when unsafe), reconnect/invalid-submit banning, pending submission replay, and stale-feed safeguards.

  • Web status UI + JSON APIs: live overview, node/pool/server pages, worker pages, and /api/* endpoints for monitoring/automation.

  • Operator controls: optional admin panel for live settings updates, persist-to-disk controls, log tooling, and guarded reboot action.

  • Storage and backups: SQLite state store with atomic snapshots and optional Backblaze B2 upload workflow.

  • Auth/integrations: optional Clerk auth flows, saved-worker pages, Discord notification toggles, and one-time worker linking codes.

  • Performance options: Stratum socket buffer tuning, optional SIMD JSON/hash paths, and built-in profiling hooks.

Direct Go libraries and licenses

The table below lists direct Go module dependencies from go.mod and the license declared in each dependency's upstream LICENSE* file.

Library Version License
github.com/Backblaze/blazer v0.7.2 Apache-2.0
github.com/btcsuite/btcd v0.25.0 ISC
github.com/btcsuite/btcd/btcec/v2 v2.3.6 ISC
github.com/btcsuite/btcd/btcutil v1.1.6 ISC
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 ISC
github.com/bwmarrin/discordgo v0.29.0 BSD-3-Clause
github.com/bytedance/sonic v1.15.0 Apache-2.0
github.com/clerk/clerk-sdk-go/v2 v2.5.1 MIT
github.com/golang-jwt/jwt/v5 v5.3.0 MIT
github.com/hako/durafmt v0.0.0-20210608085754-5c1018a4e16b MIT
github.com/martinhoefling/goxkcdpwgen v0.1.1 MIT
github.com/minio/sha256-simd v1.0.1 Apache-2.0
github.com/pebbe/zmq4 v1.4.0 BSD-3-Clause
github.com/pelletier/go-toml v1.9.5 Apache-2.0
github.com/remeh/sizedwaitgroup v1.0.0 MIT
golang.org/x/sys v0.40.0 BSD-3-Clause
modernc.org/sqlite v1.44.1 BSD-3-Clause

Additional third-party asset notices are in THIRD_PARTY_NOTICES.md.

Downloads: Pre-built binaries are available on GitHub Releases.

Stratum notes:

  • goPool accepts both mining.authorize and CKPool-style mining.auth, and tolerates authorize-before-subscribe (work starts after subscribe completes).
  • On startup and during runtime, Stratum is gated only when the node/job feed reports errors or the node is in a non-usable syncing/indexing state: new connections are refused and existing miners are disconnected to avoid wasted hashing.

goPool status dashboard

Quick start

  1. Install Go 1.26 or later and ZeroMQ (libzmq3-dev or equivalent depending on your platform).
  2. Clone the repo and build the pool:
    git clone https://github.com/Distortions81/M45-Core-goPool.git
    cd M45-Core-goPool
    go build -o goPool
    
  3. Run ./goPool once to generate example config files under data/config/examples/, then copy the base example into data/config/config.toml and edit it.
  4. Set the required node.payout_address, node.rpc_url, and ZMQ addresses (node.zmq_hashblock_addr/node.zmq_rawblock_addr; leave empty to run RPC/longpoll-only) before restarting the pool.

Containerization (Docker/Compose)

You can run goPool using Docker or Docker Compose for easy deployment and reproducibility.

Build and run with Docker

docker build -t gopool:local .
docker run --rm -it \
  -e BUILD_TIME="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -e BUILD_VERSION="v0.0.0-dev" \
  -p 3333:3333 -p 80:80 -p 443:443 \
  -v "$PWD/data:/app/data" \
  gopool:local -stdout

Using Docker Compose

Edit .env or env.example to set environment variables as needed. Then:

# Build and start in background
make up

# View logs
make logs

# Stop and remove containers
make down

Codebase size

  • Go source (excluding tests): 35,438 lines across 147 non-test .go files.
  • Go tests: 17,518 lines across 107 *_test.go files.
  • Go source (total): 52,956 lines across 254 .go files.

Counts above were collected on March 1, 2026.

Configuration overview

  • data/config/config.toml controls listener ports, core branding, node endpoints, fee percentages, and most runtime behavior.
  • TLS on the status UI is driven by server.status_tls_listen (default :443). Leave it empty ("") to disable HTTPS and rely solely on server.status_listen for HTTP; leaving server.status_listen empty disables HTTP entirely.
  • data/config/config.toml also covers bitcoind settings such as node.rpc_url, node.rpc_cookie_path, and ZMQ addresses (node.zmq_hashblock_addr/node.zmq_rawblock_addr; leave empty to disable ZMQ and rely on RPC/longpoll). First run writes helper examples to data/config/examples/.
  • Optional split files:
    • data/config/services.toml for service/integration settings (auth, backblaze_backup, discord, status links).
    • data/config/policy.toml for submit-policy/version/bans/timeouts.
    • data/config/tuning.toml for rate limits, vardiff, EMA tuning, and peer-cleaning controls.
    • data/config/version_bits.toml for explicit per-bit block-version overrides (read-only; never rewritten by goPool). data/config/policy.toml [version].bip110_enabled toggles BIP-110 signaling (bit 4), [version].share_allow_out_of_mask_version_bits allows unnegotiated or out-of-mask miner submit versions for compatibility (default true), and version_bits.toml can still force bit-level overrides afterward. BIP-110 reference: https://github.com/bitcoin/bips/blob/master/bip-0110.mediawiki
    • data/config/secrets.toml for sensitive credentials (RPC user/pass, Discord/Clerk secrets, Backblaze keys).
  • data/config/admin.toml controls the optional admin UI at /admin. The file is auto-generated on first run with enabled = false and a random password (read the file to see the generated secret). Update it to enable the panel, pick fresh credentials, and keep the file private. goPool writes password_sha256 on startup and clears the plaintext password after the first successful login; subsequent logins use the hash. The admin UI provides a field-based editor for the in-memory config, can force-write config.toml + split override files, and includes a reboot control; reboot requests require typing REBOOT and resubmitting the admin password.
  • [logging] uses boolean toggles: debug enables verbose runtime logs, and net_debug enables raw network tracing (net-debug.log). You can also force these at startup with -debug and -net-debug.
  • share_* validation toggles live in data/config/policy.toml [mining] (for example share_check_duplicate).

Flags like -network, -rpc-url, -rpc-cookie, and -secrets override the corresponding config file values for a single run—they are not written back to config.toml.

Building & releases

  • Build directly with go build -o goPool. Use hardware-acceleration tags such as noavx or nojsonsimd only when necessary; see documentation/operations.md for guidance.

  • Release builds already embed build_time/build_version via -ldflags. For a local build, pass the same metadata manually:

    go build -ldflags="-X main.buildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ) -X main.buildVersion=v0.0.0-dev" -o goPool
    
  • Downloaded releases bundle everything under data/ plus documentation/ docs.

Documentation & resources

  • documentation/README.md - Documentation index.
  • documentation/operations.md Main reference for configuration options, CLI flags, logging, backup policies, and runtime procedures.
  • documentation/version-bits.md Version-bit override file format and known bit usage in goPool.
  • documentation/json-apis.md HTTP JSON API reference for the /api/* status endpoints.
  • documentation/TESTING.md Test suite instructions and how to add or run existing tests.
  • LICENSE Legal terms for using goPool.

Need help? Open an issue on GitHub or refer to the documentation in documentation/ before asking for assistance.