# XDC Zero + Chain 138 — scripts | Script | Purpose | |--------|---------| | [`run-xdc-zero-138-operator-sequence.sh`](run-xdc-zero-138-operator-sequence.sh) | Print ordered operator steps (start here). | | [`clone-and-build-xdc-relayer.sh`](clone-and-build-xdc-relayer.sh) | `git clone` + `npm install` + `npm run build` for [XDC-Relayer](https://github.com/XinFinOrg/XDC-Relayer). | | [`deploy-endpoint-chain138.sh`](deploy-endpoint-chain138.sh) | Deploy the Chain 138 Endpoint stack from the XDC-Zero clone. Default path uses Hardhat; add `--manual` to deploy directly from artifacts when the Hardhat helper stalls on Besu. | | [`cast-deploy-simplecsc-chain138.sh`](cast-deploy-simplecsc-chain138.sh) | Deploy **SimpleCsc** (lab only) via `cast send --create`. | | [`set-fragment-addresses.sh`](set-fragment-addresses.sh) | Write **`config/xdc-zero/deployed/*.json`** from env; use with merge via `XDC_ZERO_CHAIN138_FRAG` / `XDC_ZERO_REG_FRAG`. Supports `--chain138-only` to stage the live Chain 138 endpoint before the parent side is deployed. | | [`merge-endpointconfig-chain138.sh`](merge-endpointconfig-chain138.sh) | Merge `chain138` + append parent `registers[]` (`jq`, backup). | | [`run-registerchain-both.sh`](run-registerchain-both.sh) | `registerchain.js` on `xdcparentnet` + `chain138`. | | [`run-registerapplications-both.sh`](run-registerapplications-both.sh) | `registerapplications.js` on both networks. | **Relayer env templates:** `config/xdc-zero/xdc-relayer.dotenv.example` is for a clone-local `.env`; `config/xdc-zero/xdc-zero-relayer-138-pair.example.defaults` is the source for `/etc/default/xdc-zero-relayer-138-pair` when using the systemd unit. **XDC parent chain facts** (chain id 50, RPC mirrors, explorers): see `config/xdc-zero/README.md` section *XDC Network (parent)*. **Preflight:** [`../verify/xdc-zero-chain138-preflight.sh`](../verify/xdc-zero-chain138-preflight.sh) **Troubleshooting:** [docs/03-deployment/CHAIN138_XDC_ZERO_DEPLOYMENT_TROUBLESHOOTING.md](../../docs/03-deployment/CHAIN138_XDC_ZERO_DEPLOYMENT_TROUBLESHOOTING.md) **Operator-local outputs:** `config/xdc-zero/deployed/endpoint-chain138.env` can store the coherent Chain 138 library + Endpoint addresses before you complete the parent-side deploy and merge steps. **Runbook:** [docs/03-deployment/CHAIN138_XDC_ZERO_BRIDGE_RUNBOOK.md](../../docs/03-deployment/CHAIN138_XDC_ZERO_BRIDGE_RUNBOOK.md)