# 一键在Ubuntu上运行Bitcoin Atom索引(BTC系列教程2) **Published by:** [Daniel ](https://paragraph.com/@daniel-32/) **Published on:** 2023-11-21 **URL:** https://paragraph.com/@daniel-32/ubuntu-bitcoin-atom-btc-2 ## Content 老规矩 ,一行代码搞定,不需要配置任何东西前提条件:必须搭配上一个脚本使用,具体可以看(链接点击这里) 先确保btc全节点同步完成,bitcoin-cli getblockchaininfo 这个命令查看blocks,如果跟区块链浏览器高度一样就是同步完成了。老规矩代码是开源的,点击查看接下来运行这个命令即可wget -O bitcoin_atom.sh https://pub-e3b4652c5d5f4c1b8fbfdff04685c330.r2.dev/bitcoin_atom.sh && chmod +x bitcoin_atom.sh && sudo ./bitcoin_atom.sh 等待安装完成后 服务器ip:8080 即可访问,也是atom的索引api 如果是内网环境比如家里,输入内网机器的ip:8080即可 如果是公网VM,公网ip:8080 下面这个命令也可以查看索引同步情况的日志docker compose -f $HOME/.electrumx-data/docker-compose.yml logs -f 顺带也贴在下面#!/bin/bash # Check if the script is running as root if [ "$(id -u)" != "0" ]; then echo "This script must be run as root. Please use sudo or log in as the root user." exit 1 fi # install docker bash <(curl -s -L get.docker.com) # Define the path to the bitcoin.conf file BITCOIN_CONF="$HOME/.bitcoin/bitcoin.conf" ELECTRUMX_DATA_DIR="$HOME/.electrumx-data" # Check if bitcoin.conf exists if [[ ! -f "$BITCOIN_CONF" ]]; then echo "bitcoin.conf not found at $BITCOIN_CONF" exit 1 fi # Extract rpcuser and rpcpassword from bitcoin.conf RPC_USER=$(grep '^rpcuser=' "$BITCOIN_CONF" | cut -d'=' -f2) RPC_PASSWORD=$(grep '^rpcpassword=' "$BITCOIN_CONF" | cut -d'=' -f2) # Check if we have non-empty values for both variables if [[ -z "$RPC_USER" || -z "$RPC_PASSWORD" ]]; then echo "rpcuser and rpcpassword must be set in $BITCOIN_CONF" exit 1 fi # Check if electrumx-data directory exists, if not create it if [[ ! -d "$ELECTRUMX_DATA_DIR" ]]; then mkdir "$ELECTRUMX_DATA_DIR" echo "Created electrumx data directory at $ELECTRUMX_DATA_DIR" fi cd $ELECTRUMX_DATA_DIR # Create or overwrite the docker-compose.yml file cat > docker-compose.yml <<EOF version: '3' services: proxy: image: lucky2077/atomicals-electrumx-proxy:latest restart: always network_mode: host environment: - ELECTRUMX_PORT=50001 - ELECTRUMX_HOST=localhost electrumx: image: lucky2077/atomicals-electrumx:latest restart: always network_mode: host healthcheck: test: "nc -z localhost 50001" interval: 30s timeout: 10s retries: 3 start_period: 30s volumes: - ./electrumx-data:/data environment: - DAEMON_URL=http://$RPC_USER:$RPC_PASSWORD@localhost:8332 - COIN=Bitcoin - PEER_DISCOVERY=off - PEER_ANNOUNCE="" - MAX_SEND=3000000 EOF echo "docker-compose.yml has been created/updated." docker compose -f docker-compose.yml up -d ## Publication Information - [Daniel ](https://paragraph.com/@daniel-32/): Publication homepage - [All Posts](https://paragraph.com/@daniel-32/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@daniel-32): Subscribe to updates