3

I am running a private network on a MAC laptop with 2 nodes

Node 1

HTTP_PORT=11626
PEER_PORT=11625
PUBLIC_HTTP_PORT=false
RUN_STANDALONE=false

NETWORK_PASSPHRASE="My Network ; March 2018"
NODE_SEED="SB74UEA4WNFIJ57FR5HSRIH6RALKRYT35FOYUAVILVYRGZMCEHRKAS3B self"
NODE_IS_VALIDATOR=true

NODE_NAMES=[
 "GBA3P4H7CZ6NGWTKEXMLKRBCX2MO6SJT6FTADCEKNI6WIW6OO6EW2F5V two"
]
KNOWN_PEERS=["127.0.0.1:11627"]
PREFERRED_PEERS=["127.0.0.1:11627"]
PREFERRED_PEER_KEYS=["$two"]

FAILURE_SAFETY=0
CATCHUP_RECENT=60480
UNSAFE_QUORUM=true

[QUORUM_SET]
VALIDATORS=["$self", "$two"]

[HISTORY.local]
get="cp /Users/Harmit/Sites/two/historyarchive/{0} {1}"
put="cp {0} /Users/Harmit/Sites/two/historyarchive/{1}"
mkdir="mkdir -p /Users/Harmit/Sites/two/historyarchive/{0}"

Node 2

HTTP_PORT=11628
PEER_PORT=11627
PUBLIC_HTTP_PORT=false
RUN_STANDALONE=false

NETWORK_PASSPHRASE="My Network ; March 2018"

NODE_SEED="SBXIY3OI656HB7PQ76J26N3WCJ5LL3W3A43JGRC57IHMRJECLLZQFFPV self"
NODE_IS_VALIDATOR=true

COMMANDS=["ll?level=trace"]

NODE_NAMES=[
 "GAOQYRBOO3KR4OZZHEXROBJ5BQKDCSZGICU5Y5MF55IJBKVI3A5Q3RWC one"
]
KNOWN_PEERS=["127.0.0.1:11625"]
PREFERRED_PEERS=["127.0.0.1:11625"]
PREFERRED_PEER_KEYS=["$one"]

FAILURE_SAFETY=0
UNSAFE_QUORUM=true
[QUORUM_SET]
VALIDATORS=["$self", "$one"]

[HISTORY.h1]
get="curl -sf http://one.localhost/~Harmit/one/historyarchive/{0} -o {1}"

Commands used to start the core server Node 1

stellar-core --newhist local
stellar-core --newdb
stellar-core --forcescp
stellar-core

Node 2

stellar-core --newhist h1
stellar-core --newdb
stellar-core --forcescp
stellar-core

Question

  1. Before starting the horizon server if I set INGEST=true, horizon server does not start it gives error ERRO[0001] import session failed: failed to load header: sql: no rows in result set INFO[0002] history db is empty, starting ingestion from ledger 0

    This happens if there are 2 stellar core running on same machine. If single instance of stellar is running on a machine it works. Can we run multiple instances of stellar core and horizon on one machine (localhost)?

  2. If I do not set INGEST=true horizon server starts up When i use stellar sdk to create account it hangs and times out after 30 seconds. Cannot see any error on server. If I run the stellar-core in standalone mode it works as expected.

Output from node 1 stellar-core --c 'info':

2018-03-13T16:52:37.197 GAOQY [default INFO] {
   "info" : {
      "UNSAFE_QUORUM" : "UNSAFE QUORUM ALLOWED",
      "build" : "v9.2.0rc4-3-g589dcee0",
      "ledger" : {
         "age" : 1520985157,
         "baseFee" : 100,
         "baseReserve" : 100000000,
         "closeTime" : 0,
         "hash" : "0c2384cb563a178e56b9d596311bc298f5abe37f97f1b0b1b911f75a225fb574",
         "num" : 2,
         "version" : 0
      },
      "network" : "My Network ; March 2018",
      "peers" : {
         "authenticated_count" : 0,
         "pending_count" : 0
      },
      "protocol_version" : 9,
      "startedOn" : "2018-03-13T23:29:34Z",
      "state" : "Joining SCP"
   }
}

stellar-core --c 'quorum'
2018-03-13T16:55:37.066 GAOQY [default INFO] {
   "node" : "self",
   "slots" : {
      "2" : {
         "agree" : 0,
         "disagree" : null,
         "fail_at" : 0,
         "fail_with" : null,
         "hash" : "6d67a3",
         "missing" : [ "self", "two" ],
         "phase" : "unknown",
         "value" : {
            "t" : 2,
            "v" : [ "self", "two" ]
         }
      }
   }
}

Please let me know if I am missing any configuration / step. Multiple nodes on same physical mac laptop are not syncing; state is always "Joining SCP" and quorum has missing nodes

Can someone please help me resolve this issue. Appreciate all the help

2 Answers 2

3

How about setting ALLOW_LOCALHOST_FOR_TESTING=true in your .cfg file?

1

I was able to resolve the issue. In the configuration above $self was referring to secret seed instead of Account Id / Public Key. In addition updated configuration not to use alias like $self, $on3, $two ... instead used the Account id / Public Key directly.

Not an ideal configuration for production, for now it works for me in test. I am sure adding alias will work too. Will give it a try later.

Thanks

3
  • "$self" should work... At least it always works for me on Ubuntu. What else did you do, after replacing "$self" with the actual public key?
    – cesarm
    Mar 15, 2018 at 6:22
  • Yes I replaced with the actual public key. I agree $self will work, in my case i had accidentally assigned $self to the the private key.
    – Harmit
    Mar 16, 2018 at 22:45
  • Strange, I am using the same method to declare self: NODE_SEED="SBXIY3OI656HB7PQ76J26N3WCJ5LL3W3A43JGRC57IHMRJECLLZQFFPV self"... and it works for me
    – cesarm
    Mar 19, 2018 at 2:05

Your Answer

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

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