solana-with-rpc-optimizations/docs
Lijun Wang fe97cb2ddf
AccountsDb plugin framework (#20047)
Summary of Changes

Create a plugin mechanism in the accounts update path so that accounts data can be streamed out to external data stores (be it Kafka or Postgres). The plugin mechanism allows

Data stores of connection strings/credentials to be configured,
Accounts with patterns to be streamed
PostgreSQL implementation of the streaming for different destination stores to be plugged in.

The code comprises 4 major parts:

accountsdb-plugin-intf: defines the plugin interface which concrete plugin should implement.
accountsdb-plugin-manager: manages the load/unload of plugins and provide interfaces which the validator can notify of accounts update to plugins.
accountsdb-plugin-postgres: the concrete plugin implementation for PostgreSQL
The validator integrations: updated streamed right after snapshot restore and after account update from transaction processing or other real updates.
The plugin is optionally loaded on demand by new validator CLI argument -- there is no impact if the plugin is not loaded.
2021-09-30 14:26:17 -07:00
..
.travis
art
src AccountsDb plugin framework (#20047) 2021-09-30 14:26:17 -07:00
static Add new logos to README files and docs (#20049) 2021-09-21 13:35:36 -06:00
.eslintignore
.eslintrc
.gitignore
.prettierignore
README.md
babel.config.js
build-cli-usage.sh
build.sh
convert-ascii-to-svg.sh
crowdin.yml
docusaurus.config.js
offline-cmd-md-links.sh
package-lock.json
package.json
publish-docs.sh
set-solana-release-tag.sh
sidebars.js Added web3 reference guide (#19970) 2021-09-22 09:38:38 -04:00
yarn.lock

README.md

Docs Readme

Solana's Docs are built using Docusaurus 2 with npm. Static content delivery is handled using vercel.

Installing Docusaurus

$ npm install

Local Development

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server. (You might have to run build.sh first if you run into failures)

$ npm run start

Build Locally

This command generates static content into the build directory and can be served using any static contents hosting service.

$ docs/build.sh

Translations

Translations are sourced from Crowdin and generated when master is built. For local development use the following two commands in the docs directory.

To download the newest Documentation translations run:

npm run crowdin:download

To upload changes from src & generate explicit IDs:

npm run crowdin:upload

CI Build Flow

The docs are built and published in Travis CI with the docs/build.sh script. On each PR, the docs are built, but not published.

In each post-commit build, docs are built and published using vercel to their respective domain depending on the build branch.

  • Master branch docs are published to edge.docs.solana.com
  • Beta branch docs are published to beta.docs.solana.com
  • Latest release tag docs are published to docs.solana.com