I built the v10 docker image and launched it exposing the HTTP port for core.

docker build -f Dockerfile.testing -t stellar:v10 .
docker run --rm -it -p "5432:5432" -p "8000:8000" -p "11626:11626" \
    --name stellar stellar:v10 --standalone

At launch, the protocol version is 0.

I then attempted to update the protocol.

curl "http://localhost:11626/upgrades?mode=set&protocolversion=10&upgradetime=2018-08-18T00:00:00Z"

The upgrades endpoint now reports v10.

curl http://localhost:11626/upgrades?mode=get
    "time": 1534550400,
    "version": {
        "has": true,
        "val": 10
    "fee": {
        "has": false
    "maxtxsize": {
        "has": false
    "reserve": {
        "has": false

But the most recent ledger does not:

curl -s "http://localhost:8000/ledgers?cursor=now&limit=1&order=desc" \
    | jq '._embedded.records[0].protocol_version'

The system in this state does not support any non v0 operation (after limited testing).

What are the additional steps to upgrading the protocol version?

1 Answer 1


I think the date that you used is in the future 1534550400 = Saturday, August 18, 2018 12:00:00 AM.

if you want it to happen right away, just use the epoch as per the documentation it's 1970-01-01T00:00:00Z

  • Thank you. That makes sense. I changed it to one minute in the future as a test and it updated correctly at the right time.
    – Synesso
    Aug 17, 2018 at 22:48
  • 1
    Update to docs to clarify that param. github.com/stellar/stellar-core/pull/1759
    – Synesso
    Aug 17, 2018 at 23:00

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.