I want to sync the block data and query all transaction data. When we execute the captive core server, It starts to download and catch up the ledger file by stellar-core automatically. The data is stored in /tmp/captive-stellar-coreXXX. Is that right? and why are you doing this?
Finally, I want you to tell me how to sync XLM block using captive-core. Thanks.
Captive Core Server Error log:
ERRO[2021-03-11T16:52:14.824+09:00] default: Exception occurred while shutting down: sqlite3_statement_backend::prepare: no such table: storestate pid=2450 subservice=stellar-core
ERRO[2021-03-11T16:52:14.827+09:00] default: Got an exception: bind: Address already in use pid=2450 subservice=stellar-core
Here's the reference data.
ps -ef | grep stellar-core
1. /home/stellar/bin/stellar-core --conf /tmp/captive-stellar-core695861656/stellar-core.conf catchup 4498561/99968 --metadata-output-stream fd:3 --replay-in-memory
2. curl -sf http://history.stellar.org/prd/core-live/core_live_003/ledger/00/43/29/ledger-004329ff.xdr.gz -o /tmp/captive-stellar-core695861656/buckets/tmp/catchup-880e8b173d3467bb/ledger/00/43/29/ledger-004329ff.xdr.gz.tmp
[version]
horizon: v2.0.0
stellar-core: v1.15.1
[environment variables]
CAPTIVE_CORE_CONFIG_APPEND_PATH="/home/stellar/bin/stellar-captive-core-stub.toml"
DATABASE_URL="postgres://postgres:_password_@localhost/horizon"
NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"
STELLAR_CORE_DATABASE_URL="postgres://postgres:_password_@localhost/stellar"
STELLAR_CORE_URL="http://localhost:8080"
Here are the setting files. (stellar-core.cfg, stellar-captive-core-stub.toml)
[stellar-core.cfg]
LOG_FILE_PATH="/home/stellar/logs/stellar-core.log"
BUCKET_DIR_PATH="/home/stellar/buckets"
HTTP_PORT=8080
PUBLIC_HTTP_PORT=true
PEER_PORT=11625
DATABASE="postgresql://dbname=stellar host=localhost user=stellar password=XXX"
#FAILURE_SAFETY is minimum number of nodes that are allowed to fail before you no longer have quorum
FAILURE_SAFETY=1
# number of ledgers to synchronize (time in seconds divided by 5)
# NB: full validators should run with CATCHUP_COMPLETE=true instead
CATCHUP_COMPLETE=true
#CATCHUP_RECENT=60480
NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"
TARGET_PEER_CONNECTIONS=16
# Populate NODE_NAMES, KNOW_PEERS, QUORUM and HISTORY sections with information
# on other validators
# for example https://github.com/stellar/docs/blob/master/validators.md
# or from https://dashboard.stellar.org/
NODE_NAMES=[
"GCGB2S2KGYARPVIA37HYZXVRM2YZUEXA6S33ZU5BUDC6THSB62LZSTYH sdf_watcher1",
"GCM6QMP3DLRPTAZW2UZPCPX2LF3SXWXKPMP3GKFZBDSF3QZGV2G5QSTK sdf_watcher2",
"GABMKJM6I25XI4K7U6XWMULOUQIQ27BCTMLS6BYYSOWKTBUXVRJSXHYQ sdf_watcher3",
]
KNOWN_PEERS=[
"core-live-a.stellar.org",
"core-live-b.stellar.org",
"core-live-c.stellar.org",
]
UNSAFE_QUORUM=true
[QUORUM_SET]
THRESHOLD_PERCENT=51
VALIDATORS=[
"$sdf_watcher1", "$sdf_watcher2", "$sdf_watcher3"
]
# Stellar.org history store
[HISTORY.core_live_001]
get="curl -sf http://history.stellar.org/prd/core-live/core_live_001/{0} -o {1}"
[HISTORY.core_live_002]
get="curl -sf http://history.stellar.org/prd/core-live/core_live_002/{0} -o {1}"
[HISTORY.core_live_003]
get="curl -sf http://history.stellar.org/prd/core-live/core_live_003/{0} -o {1}"
[stellar-captive-core-stub.toml]
[[HOME_DOMAINS]]
HOME_DOMAIN="www.stellar.org"
QUALITY="HIGH"
[[VALIDATORS]]
NAME="sdf_1"
HOME_DOMAIN="www.stellar.org"
PUBLIC_KEY="GCGB2S2KGYARPVIA37HYZXVRM2YZUEXA6S33ZU5BUDC6THSB62LZSTYH"
ADDRESS="core-live-a.stellar.org"
HISTORY="curl -sf http://history.stellar.org/prd/core-live/core_live_001/{0} -o {1}"
[[VALIDATORS]]
NAME="sdf_2"
HOME_DOMAIN="www.stellar.org"
PUBLIC_KEY="GCM6QMP3DLRPTAZW2UZPCPX2LF3SXWXKPMP3GKFZBDSF3QZGV2G5QSTK"
ADDRESS="core-live-b.stellar.org"
HISTORY="curl -sf http://history.stellar.org/prd/core-live/core_live_002/{0} -o {1}"
[[VALIDATORS]]
NAME="sdf_3"
HOME_DOMAIN="www.stellar.org"
PUBLIC_KEY="GABMKJM6I25XI4K7U6XWMULOUQIQ27BCTMLS6BYYSOWKTBUXVRJSXHYQ"
ADDRESS="core-live-c.stellar.org"
HISTORY="curl -sf http://history.stellar.org/prd/core-live/core_live_003/{0} -o {1}"
Thanks for the reply @Terence Rokop, @Bartek Nowotarski
@Terence Rokop
When I first started the stellar-core(run
command) and second I ran Horizon ingestion(serve
command), another stellar-core process is running using config file In /tmp directory "automatically". So I encountered the following bind error. and the meaning of "sync XLM block" is same to "perform a Horizon ingestion"
The process for another stellar-core is following there.
/home/stellar/bin/stellar-core --conf /tmp/captive-stellar-core495000143/stellar-core.conf run --in-memory --start-at-ledger 34392894 --start-at-hash 9b4a5166fbf227713a5920c753bfc5840311f71860ffc9babdb9731d69467136 --metadata-output-stream fd:3
curl -sf http://history.stellar.org/prd/core-live/core_live_003/transactions/00/9e/a3/transactions-009ea37f.xdr.gz -o /home/stellar/buckets/tmp/catchup-8bff4e3262733811/transactions/00/9e/a3/transactions-009ea37f.xdr.gz.tmp
@Bartek Nowotarski
My environment is here. Is there a problem?
STELLAR_CORE_URL='http://localhost:8080'
REMOTE_CAPTIVE_CORE_URL='http://localhost:8001'