Clean up README.md
Change-Id: I1a4a846b68a830c04e41f9ba4e7ed726dc23102c
This commit is contained in:
parent
387fcc48c0
commit
fa75e3266a
75
README.md
75
README.md
|
@ -7,6 +7,8 @@ See [docs/operations.md](docs/operations.md) for node operator instructions.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
⚠ **Wormhole v2 is in active development - see "main" branch for the v1 mainnet version** ⚠
|
||||||
|
|
||||||
### Audit / Feature Status
|
### Audit / Feature Status
|
||||||
|
|
||||||
⚠ **This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
⚠ **This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
@ -30,76 +32,3 @@ your printer on fire or startle your cat. Cryptocurrencies are a high-risk inves
|
||||||
The reverse is also true - Wormhole knows the name of the ERC20 token, but there's no way to store it on Solana.
|
The reverse is also true - Wormhole knows the name of the ERC20 token, but there's no way to store it on Solana.
|
||||||
There's an [off-chain name registry](https://github.com/solana-labs/token-list) that some block explorers use, but
|
There's an [off-chain name registry](https://github.com/solana-labs/token-list) that some block explorers use, but
|
||||||
if you transfer an uncommon token to Solana, it may not show with a name on block explorers.
|
if you transfer an uncommon token to Solana, it may not show with a name on block explorers.
|
||||||
|
|
||||||
### Repo overview
|
|
||||||
|
|
||||||
- **[bridge/](bridge/)** — The guardian node which connects to both chains, observes data and submits VAAs.
|
|
||||||
Written in pure Go.
|
|
||||||
|
|
||||||
- [cmd/](bridge/cmd/) - CLI entry points for the guardiand service and all other command line tools.
|
|
||||||
- [e2e](bridge/e2e) — The end-to-end testing framework (as regular Go tests, to be ran locally).
|
|
||||||
- **[pkg/processor](bridge/pkg/processor)** — Most of the business logic for cross-chain communication
|
|
||||||
lives here. Talks to multiple loosely coupled services communicating via Go channels.
|
|
||||||
- [pkg/common](bridge/pkg/common) — Shared libraries and types. No business logic.
|
|
||||||
- [pkg/p2p](bridge/pkg/p2p) — libp2p-based gossip network.
|
|
||||||
- [pkg/devnet](bridge/pkg/devnet) — Constants and helper functions for the deterministic local devnet.
|
|
||||||
- [pkg/ethereum](bridge/pkg/ethereum) — Ethereum chain interface with auto-generated contract ABI.
|
|
||||||
Uses go-ethereum to directly connect to an Eth node.
|
|
||||||
- [pkg/solana](bridge/pkg/solana) — Solana chain interface. Light gRPC wrapper around a Rust agent (see below)
|
|
||||||
which actually talks to Solana.
|
|
||||||
- [pkg/terra](bridge/pkg/terra) — Terra chain interface, using the upstream Terra RPC client.
|
|
||||||
- [pkg/supervisor](bridge/pkg/supervisor) — Erlang-inspired process supervision tree imported from Certus One's
|
|
||||||
internal code base. We use this everywhere in the bridge code for fault tolerance and fast convergence.
|
|
||||||
- [pkg/vaa](bridge/pkg/vaa) — Go implementation of our VAA structure, including serialization code.
|
|
||||||
- [pkg/readiness](bridge/pkg/readiness) — Global stateful singleton package to manage the /ready endpoint,
|
|
||||||
similar to how Prometheus metrics are implemented using a global registry.
|
|
||||||
|
|
||||||
- **[ethereum/](ethereum/)** — Ethereum wormhole contract, tests and fixtures.
|
|
||||||
|
|
||||||
- **[contracts/](ethereum/contracts)** — Wormhole itself, a wrapped token example and helper libraries.
|
|
||||||
- [migrations/](ethereum/migrations) — Ganache migration that deploys the contracts to a local devnet.
|
|
||||||
This is the starting point for both the tests and the devnet. Note that devnet and tests result
|
|
||||||
in different devnet states.
|
|
||||||
- [src/send-lockups.js](ethereum/src/send-lockups.js) — Sends example ETH lockups in a loop.
|
|
||||||
See DEVELOP.md for usage.
|
|
||||||
|
|
||||||
- **[solana/](solana/)** — Solana sidecar agent, contract and CLI.
|
|
||||||
- **[bridge/](solana/bridge/)** - Solana Wormhole bridge components
|
|
||||||
- **[agent/](solana/bridge/agent/)** — Rust agent sidecar deployed alongside each Guardian node. It serves
|
|
||||||
a local gRPC API to interface with the Solana blockchain. This is far easier to maintain than a
|
|
||||||
pure-Go Solana client.
|
|
||||||
- **[program/](solana/bridge/program)** — Solana Wormhole smart contract code.
|
|
||||||
- [client/](solana/bridge/cli/) — Wormhole user CLI tool for interaction with the smart contract.
|
|
||||||
- [devnet_setup.sh](solana/devnet_setup.sh) — Devnet initialization and example code for a lockup program
|
|
||||||
(the Solana equivalent to the Ganache migration + send-lockups.js). Runs as a sidecar alongside the Solana devnet.
|
|
||||||
|
|
||||||
- **[terra/](terra/)** — Terra-side smart contracts.
|
|
||||||
|
|
||||||
- **[proto/](proto/)** — Protocol Buffer definitions for the P2P network and the local Solana agent RPC.
|
|
||||||
These are heavily commented and a good intro.
|
|
||||||
|
|
||||||
- **[third_party/](third_party/)** — Build machinery and tooling for third party applications we use.
|
|
||||||
- [googleapis/](third_party/googleapis/) — Google protobuf libraries end up here at runtime. Not checked un.
|
|
||||||
|
|
||||||
- **[docs/](docs/)** — Operator documentation and project specs.
|
|
||||||
|
|
||||||
- **[design/](design/)** — Design documents/RfC for changes to the protocol.
|
|
||||||
|
|
||||||
- **[web/](web/)** — User interface for cross-chain transfers. Not yet wired into the local devnet.
|
|
||||||
Uses Metamask and Web3.js to initiate transfers from a browser.
|
|
||||||
Watch [this video](https://youtu.be/9OTTyJ_h4O0) as an introduction.
|
|
||||||
|
|
||||||
- [tools/](tools/) — Reproducible builds for local development tooling like buf and protoc-gen-go.
|
|
||||||
|
|
||||||
- [dashboards/](dashboards/) — Example Grafana dashboards for the Prometheus metrics exposed by guardiand.
|
|
||||||
|
|
||||||
- [Tiltfile](Tiltfile), [tilt_modules](tilt_modules/), [devnet/](devnet/) and various Dockerfiles — deployment code and
|
|
||||||
fixtures for local development. Deploys a deterministic devnet with an Ethereum devnet, Solana devnet, and a variably
|
|
||||||
sized guardian set that can be used to simulate full cross-chain transfers. The Dockerfiles are carefully designed for
|
|
||||||
fast incremental builds with local caching, and require a recent Docker version with Buildkit support.
|
|
||||||
|
|
||||||
- [generate-abi.sh](generate-abi.sh) and [generate-protos.sh](generate-protos.sh) —
|
|
||||||
Helper scripts to (re-)build generated code. The Eth ABI is committed to the repo, so you only
|
|
||||||
need to run this script if the Wormhole.sol interface changes. The protobuf libraries are not
|
|
||||||
committed and will be regenerated automatically by the Tiltfile.
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue