We have built a Standalone Network with 3 Stellar nodes as full-validators and horizon. Every node and horizon run the 18.0.4 version in a docker container and can access node's history thanks to nginx.
Here's one Stellar node configuration:
DATABASE="postgresql://dbname=core host=aws1_db user=stellar password=mynicepassword"
NETWORK_PASSPHRASE="Standalone Network ; February 2017"
NODE_SEED="SCZ2SZQUVMPECEDFMOXFAA4KG3A7IRNA62PIOX556XFUH7RMETRBHPQK"
NODE_HOME_DOMAIN="mydomain"
HTTP_PORT=11626
PUBLIC_HTTP_PORT=true
PEER_PORT=11625
NODE_IS_VALIDATOR=true
FAILURE_SAFETY=0
UNSAFE_QUORUM=true
RUN_STANDALONE=false
CATCHUP_COMPLETE=false
CATCHUP_RECENT=0
[[HOME_DOMAINS]]
HOME_DOMAIN="mydomain"
QUALITY="MEDIUM"
[[VALIDATORS]]
NAME="aws2"
HOME_DOMAIN="mydomain"
PUBLIC_KEY="GBE7L26OEUB2ATMEZNUSW3WSIYL62CVH5TOXINLAO6SLRGFXL7ZJCHTG"
ADDRESS="aws2"
HISTORY="curl -sf aws2_nginx/vs/{0} -o {1}"
[[VALIDATORS]]
NAME="aws3"
HOME_DOMAIN="mydomain"
PUBLIC_KEY="GBPGX4PH34Q23KFFBRBN23JN3R56QEXFCNZE6ZTB3RGPU5RIFQVL4H44"
ADDRESS="aws3"
HISTORY="curl -sf aws3_nginx/vs/{0} -o {1}"
[HISTORY.vs]
get="cp /history/vs/{0} {1}"
put="cp {0} /history/vs/{1}"
mkdir="mkdir -p /history/vs/{0}"
And here's the CaptiveCore configuration from Horizon:
UNSAFE_QUORUM=true
FAILURE_SAFETY=0
PEER_PORT=11725
[[HOME_DOMAINS]]
HOME_DOMAIN="mydomain"
QUALITY="MEDIUM"
[[VALIDATORS]]
NAME="aws1"
HOME_DOMAIN="mydomain"
PUBLIC_KEY="GB6DMQJAGCSMHTYXAO55MVI6PHQO3XPQC5TSH6APCGIKEKPVWSVILUCG"
ADDRESS="aws1"
HISTORY="curl -sf aws1_nginx/vs/{0} -o {1}"
[[VALIDATORS]]
NAME="aws2"
HOME_DOMAIN="mydomain"
PUBLIC_KEY="GBE7L26OEUB2ATMEZNUSW3WSIYL62CVH5TOXINLAO6SLRGFXL7ZJCHTG"
ADDRESS="aws2"
HISTORY="curl -sf aws2_nginx/vs/{0} -o {1}"
[[VALIDATORS]]
NAME="aws3"
HOME_DOMAIN="mydomain"
PUBLIC_KEY="GBPGX4PH34Q23KFFBRBN23JN3R56QEXFCNZE6ZTB3RGPU5RIFQVL4H44"
ADDRESS="aws3"
HISTORY="curl -sf aws3_nginx/vs/{0} -o {1}"
Output from http-command info:
"info" : {
"build" : "stellar-core 18.0.4 (906e866ed5ae8370da3cfde884d811812a6cec62)",
"ledger" : {
"age" : 1,
"baseFee" : 100,
"baseReserve" : 100000000,
"closeTime" : 1635167863,
"hash" : "e915693f1161ab9b60e258cd1c4e43a710898b6b2ae9a4c4a0dd86d9f0946004",
"maxTxSetSize" : 100,
"num" : 137,
"version" : 0
},
"network" : "Standalone Network ; February 2017",
"peers" : {
"authenticated_count" : 2,
"pending_count" : 0
},
"protocol_version" : 18,
"quorum" : {
"node" : "GB6DM",
"qset" : {
"agree" : 3,
"cost" : 6656,
"delayed" : 0,
"disagree" : 0,
"fail_at" : 2,
"hash" : "4ad9c0",
"lag_ms" : 19,
"ledger" : 136,
"missing" : 0,
"phase" : "EXTERNALIZE",
"validated" : true
},
"transitive" : {
"critical" : null,
"intersection" : true,
"last_check_ledger" : 2,
"node_count" : 3
}
},
"startedOn" : "2021-10-25T13:05:56Z",
"state" : "Synced!"
}
}
Horizon info:
"horizon_version": "2.10.0-e667e8811a8033ac6682ccb597c1087c8b8d1725",
"core_version": "stellar-core 18.0.4 (b08d3f6750bebd0b8a722354832ee8ef4682c0da)",
"ingest_latest_ledger": 90,
"history_latest_ledger": 90,
"history_latest_ledger_closed_at": "2021-10-25T14:13:29Z",
"history_elder_ledger": 2,
"core_latest_ledger": 90,
"network_passphrase": "Standalone Network ; February 2017",
"current_protocol_version": 0,
"core_supported_protocol_version": 18
I can use horizon in stellar.laboratory and every get request works fine. If I try to POST a transaction I receive this error:
curl -X POST -F 'tx=AAAAAgAAAABzdv3ojkzWHMD7KUoXhrPx0GH18vHKV0ZfqpMiEblG1gAAAGQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAJVnRioWjUDshn7VXRqMh+cYudVrWPaJe3kTIixMFPQAAAABIHyKAAAAAAAAAAAERuUbWAAAAQNiO+/NMPoE9i1kkUothICLTiic+15dUniW/vaPUkPKOCUGlxcXeivYs1cS9x6ECOvL3anf1UhEcYATypScMTwA=' 'http://localhost:8000/transactions'
{
"type": "https://stellar.org/horizon-errors/transaction_failed",
"title": "Transaction Failed",
"status": 400,
"detail": "The transaction failed when submitted to the stellar network. The `extras.result_codes` field on this response contains further details. Descriptions of each code can be found at: https://developers.stellar.org/api/errors/http-status-codes/horizon-specific/transaction-failed/",
"extras": {
"envelope_xdr": "AAAAAgAAAABzdv3ojkzWHMD7KUoXhrPx0GH18vHKV0ZfqpMiEblG1gAAAGQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAJVnRioWjUDshn7VXRqMh+cYudVrWPaJe3ksTIixMFPQAAAABIHyKAAAAAAAAAAAERuUbWAAAAQNiO+/NMPoE9i1kkUothICLTiic+15dUniW/vaPUkPKOCUGlxcXeivYs1cS9x6ECOvL3anf1UhEcYATypScMTwA=",
"result_codes": {
"transaction": "tx_not_supported"
},
"result_xdr": "AAAAAAAAAGT////0AAAAAA=="
}
}
There's no documentation about this and these solutions didn't work for us:
We are out of ideas. Can anyone help us? Thanks