Customized Polkadot.js Apps fork for GHOST Mainnet & CASPER Testnet. Pre-configured RPC, GHOST dark theme, and upstream-sync ready.
| .github | ||
| .vscode | ||
| .yarn | ||
| docker | ||
| packages | ||
| scripts | ||
| .dockerignore | ||
| .editorconfig | ||
| .env-example | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| .npmignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.cjs | ||
| .yarnrc.yml | ||
| BOUNTIES.md | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS | ||
| eslint.config.js | ||
| i18next-scanner.config.cjs | ||
| I18N.md | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.build.json | ||
| tsconfig.eslint.json | ||
| tsconfig.json | ||
| tsconfig.webpack.json | ||
| yarn.lock | ||
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.