0

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'

1 Answer 1

1

In my experience, the following...

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

...usually means that I've tried to start a stellar-core instance when there's already one running, although I'm not sure from the log/config excerpts why that might be happening in this case (or whether that's definitely what is happening).

By "sync XLM block" do you mean "perform a Horizon ingestion"?

2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.