2.2 KiB
2.2 KiB
GHOST Portal
Customized 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
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.