First checks
Deployment
Railway answers 502
Railway answers 502
PORT variable and the domain’s target port differ. Set PORT explicitly (8787 for
relay-1, 8788 for relay-2, 8790 for the OHTTP relay) and make the domain’s target port the same.EACCES on /data in relay-1's logs
EACCES on /data in relay-1's logs
RAILWAY_RUN_UID=0, or
remove the volume and ISSUER_QUOTA_FILE (quotas then reset on restart).RELAYER_PRIVATE_KEY is not set
RELAYER_PRIVATE_KEY is not set
RELAYER_PRIVATE_KEY, or RELAYER_1_PRIVATE_KEY when no
RELAYER_KEY_VAR is given, or point RELAYER_KEY_VAR at the variable that holds it.ISSUER_RSA_SEED must be 32 bytes of hex
ISSUER_RSA_SEED must be 32 bytes of hex
ISSUER=on needs ISSUER_RSA_SEED as 0x followed by 64 hex characters. npm run setup
generates one.LOW BALANCE in the logs
LOW BALANCE in the logs
/healthz and /v1/info) from the
faucet or another wallet.nonce too low, replacement transaction, or repeated stale key prediction
nonce too low, replacement transaction, or repeated stale key prediction
npm run dev:relayers, a test). Stop
the other copy. One wallet, one process.In the app
no relayer: pass relayers or run one (none is live on Arkiv)
no relayer: pass relayers or run one (none is live on Arkiv)
relayers were given and no live heartbeat exists. Start a relayer, or pass relayers.no relayer is reachable
no relayer is reachable
/v1/info. Check /healthz. In a browser on an
https page, http:// relayers are blocked as mixed content: relayers must have https URLs, and
RELAYER_PUBLIC_URL must be that https URL.every relayer failed: …
every relayer failed: …
relayer refused: 400 …: the record broke a rule (see the next section);relayer refused: 402 …: the relayer requires tokens and none was sent;relayer refused: 403 …: the token was rejected (spent, wrong day, unknown issuer key);relayer refused: 429 …or503 …: rate limit or full queue, try again or use another relayer;timed out waiting for inclusion: the relayer’s queue stopped moving;no batch of N formed in time; not written:minAnonymitywas not reached withinmaxHoldMs;… misbehaved: …: the relayer tampered with or misdirected the record; it is marked bad.
check() refused this record: …
check() refused this record: …
strict: true is set and check() raised warnings. Coarsen the attributes (see
fingerprinting) or drop strict.attribute name … must be lowercase letters, digits, '.', '-' or '_'
attribute name … must be lowercase letters, digits, '.', '-' or '_'
minBatch to minbatch.expiry of …s is past the largest bucket
expiry of …s is past the largest bucket
expires must be relative (ExpirationTime.fromDays(…)), not an absolute block or date.record is … bytes; the largest Arkognito record is 16384 bytes
record is … bytes; the largest Arkognito record is 16384 bytes
… is not one of your records
… is not one of your records
proveOwnership could not find the record among yours. It must be a record written by this wallet
in this app, and still live.This wallet produced two different signatures for the same message
This wallet produced two different signatures for the same message
KeyVault.random, WorkerVault.random).… is a smart contract wallet
… is a smart contract wallet