Mirroring https://github.com/wormhole-foundation/wormhole
|
|
3 年之前 | |
|---|---|---|
| .run | 5 年之前 | |
| dashboards | 4 年之前 | |
| design | 4 年之前 | |
| devnet | 3 年之前 | |
| docs | 3 年之前 | |
| ethereum | 3 年之前 | |
| node | 3 年之前 | |
| proto | 3 年之前 | |
| scripts | 4 年之前 | |
| solana | 3 年之前 | |
| third_party | 4 年之前 | |
| tilt_modules | 4 年之前 | |
| tools | 3 年之前 | |
| .gitignore | 5 年之前 | |
| .spr.yml | 3 年之前 | |
| CONTRIBUTING.md | 4 年之前 | |
| DEVELOP.md | 3 年之前 | |
| Dockerfile.agent | 3 年之前 | |
| Dockerfile.proto | 3 年之前 | |
| LICENSE | 3 年之前 | |
| Makefile | 3 年之前 | |
| README.md | 3 年之前 | |
| Tiltfile | 3 年之前 | |
| buf.gen.yaml | 3 年之前 | |
| buf.lock | 3 年之前 | |
| buf.yaml | 3 年之前 | |
| buf.yml | 5 年之前 | |
| codereview.cfg | 4 年之前 | |
| dev-install.sh | 4 年之前 | |
| generate-abi.sh | 4 年之前 | |
| jenkins-presubmit.groovy | 4 年之前 |
Read our introduction blog article for more details on Wormhole and its major design decisions.
See DEVELOP.md for instructions on how to set up a local devnet, and CONTRIBUTING.md for instructions on how to contribute to this project.
See docs/operations.md for node operator instructions.
| Feature | Maintainer | Auditor | Status |
|---|---|---|---|
| Ethereum contract | Certus One | Kudelski | ✔️ Audited |
| Solana contract | Certus One | Kudelski | ✔️ Audited |
| Bridge node | Certus One | Kudelski | ✔️ Audited |
⚠ This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Or plainly spoken - this is a very complex software which targets a bleeding-edge, experimental smart contract runtime. Mistakes happens, and no matter how hard you try and whether or not you pay someone to audit it, it may eat your tokens, set your printer on fire or startle your cat.
Cryptocurrencies in general are a high-risk investment, there's decent chance you'll lose your money, and you most certainly shouldn't put your life savings into a Wormhole contract (or any other).
Much of the Solana ecosystem uses wrapped assets issued by a centralized bridge operated by FTX (the "Sollet bridge"). Markets on Serum or Raydium are using those centralized assets rather than Wormhole wrapped assets. These have names like "Wrapped BTC" or "Wrapped ETH". Wormhole is going to replace the FTX bridge eventually, but this will take some time - meanwhile, Wormhole wrapped assets aren't terribly useful yet since there're no market for them.
Other tokens on Solana like USDC and USDT are centralized native tokens issued on multiple chains. If you transfer USDT from Ethereum to Solana, you will get "Wormhole Wrapped USDT" (wwUSDT), rather than native USDT.
Solana's SPL tokens have no on-chain metadata. Wormhole can't know the name of the token when you transfer assets to Ethereum. All tokens are therefore named "WWT" plus the address of the SPL token. 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 that some block explorers use, but if you transfer an uncommon token to Solana, it may not show with a name on block explorers.
node/ — The guardian node which connects to both chains, observes lockups and submits VAAs. Written in pure Go.
ethereum/ — Ethereum wormhole contract, tests and fixtures.
solana/ — Solana sidecar agent, contract and CLI.
proto/ — Protocol Buffer definitions for the P2P network and the local Solana agent RPC. These are heavily commented and a good intro.
third_party/ — Build machinery and tooling for third party applications we use.
docs/ — Operator documentation and project specs.
tools/ — Reproducible builds for local development tooling like buf and protoc-gen-go.
Tiltfile, 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. See DEVELOP.md for usage.
generate-abi.sh and 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.