67 lines
2.2 KiB
Markdown
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.
|