This repo contains the source code for the block explorer of the XRP Ledger hosted at livenet.xrpl.org.
This project was bootstrapped with Create React App. You can find the most recent version of guide here.
The project requires node@14. Follow installation instructions on nodejs.org.
This setup is required for the Tokens page of the explorer to function:
- Select or create a Cloud Platform project.
- Enable the Google BigQuery API.
- Set up authentication with a service account
Once you have completed these steps and generated the JSON key file, you must populate the following environment variables in the .env file with their corresponding values from the JSON key file:
GOOGLE_APP_PROJECT_ID=your-project-id
GOOGLE_APP_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\n...
GOOGLE_APP_CLIENT_EMAIL=your-client-email
npm install
thennpm start
for development mode, ornpm run build
thennpm run prod-server
for production mode
- Replace
RIPPLED_HOST=s2.ripple.com
withRIPPLED_HOST=s.altnet.rippletest.net
in the.env
file - Remove
RIPPLED_SECONDARY
from.env
(optional, but the extra validator subscriptions are not necessary) - Add
REACT_APP_ENVIRONMENT=testnet
to.env
to enable TESTNET banner
- Replace
RIPPLED_HOST=s2.ripple.com
withRIPPLED_HOST=s.devnet.rippletest.net
in the.env
file - Remove
RIPPLED_SECONDARY
from.env
(optional, but the extra validator subscriptions are not necessary) - Add
REACT_APP_ENVIRONMENT=devnet
to.env
to enable TESTNET banner
- Run tests in watch mode
npm test
- Run test to produce coverage
npm run test:coverage
- To open coverage HTML report in app root do
open coverage/index.html
- Place
debugger;
in your unit test - Do
npm run test:debug
- Open
about:inspect
in Chrome - Click on
inspect
link - Chrome Developer Tools will be open, click
play
button - Now test will start running and will stop on your
debugger;
- You know the rest ;)
- phone-only: 0px - 375px
- tablet-portrait-up: 375px - 600px
- tablet-landscape-up: 600px - 900px
- desktop-up: 900px - 1200px
- big-desktop-up: 1200px and up
- US English (default)
- Simplified Chinese
- Japanese
- Korean
- Mexican Spanish
- Brazilian Portuguese
- Most updated documentation for create-react-app
- Latest news in react blog
- React documentation
- How to think in react and break down components
- More details on packages and step by step tutorial
We load some polyfills conditionally because
- React 16 depends on the collection types
Map
andSet
, Doc - React also depends on
requestAnimationFrame
, Doc - We are using
Intl
to format our number and dates, Doc
The following polyfills has been loaded conditionally to support older browsers such as < IE11
:
Using require-ensure Webpack will create different chunk
for these polyfills and they get loaded if user borwser don't support the feature needed.