ghost-portal/README.md
2026-10-30 02:47:53 -04:00

67 lines
2.2 KiB
Markdown

# GHOST Portal
Customized [Polkadot.js Apps](https://github.com/polkadot-js/apps) fork for the
GHOST Chain ecosystem. Pre-configured to connect to the CASPER Testnet RPC by
default and shipped with a GHOST-branded dark theme.
- **Default RPC:** `wss://casper-rpc.ghostchain.io` (CASPER Testnet)
- **Theme:** dark-only, header `#50759e`, accent `#F2E370`
- **Upstream:** [`polkadot-js/apps`](https://github.com/polkadot-js/apps)
## Cloning
For **building and deploying** the portal, a shallow clone is enough (a few MiB):
git clone --depth 1 https://git.ghostchain.io/neptune/ghost-portal.git
For **syncing upstream security updates**, clone the full history:
git clone https://git.ghostchain.io/neptune/ghost-portal.git
cd ghost-portal
git remote add upstream https://github.com/polkadot-js/apps.git
git checkout ghost-portal
The full clone is large (~380 MiB) because it carries the complete
`polkadot-js/apps` history. The heavy blobs are upstream's auto-generated
logo index files and `typesBundle.ts`, not build artifacts.
## Building
yarn install
yarn build
The web bundle is written to `packages/apps/build/`. Verify before deploying:
ls packages/apps/build/ | grep -E "index.html|main\.|conf\."
## Deploying
rsync -avz --delete packages/apps/build/ root@YOUR_HOST:/var/www/ghost-portal/
Then on the server:
chown -R www-data:www-data /var/www/ghost-portal
find /var/www/ghost-portal -type d -exec chmod 755 {} \;
find /var/www/ghost-portal -type f -exec chmod 644 {} \;
systemctl reload nginx
## Syncing upstream
git checkout ghost-portal
git fetch upstream
git merge upstream/main
# resolve conflicts, then:
git push ghost ghost-portal
Keep customizations isolated to the files listed below so merges stay small:
- `packages/apps-config/src/endpoints/casperTestnet.ts` (endpoint definition)
- `packages/apps-config/src/ui/logos/chains/CasperTestnet.svg` (logo)
- `packages/apps/src/Root.tsx` (forced dark theme + default RPC)
- `packages/page-settings/src/General.tsx` (settings defaults)
- Theme variables in `packages/react-components/src/styles/index.ts`
## License
Apache-2.0 — same as upstream.