The Wormhole Local Validator is available here. Along with the Wormhole Local Validator, this also contains code to spin up EVM and Solana local validators, as well as deployment code to add Wormhole contracts to those new chains.
You will need Docker; if you're developing on your computer you should get Docker Desktop, but if you're in a headless VM, install Docker Engine. Make sure to have Docker running before you run any of the following commands.
npm run evm will start up two EVM chains with Wormhole Chain ID 2 (like ETH) and Wormhole Chain ID 4 (like BSC) and deploy the Wormhole Core Bridge (
0xC89Ce4735882C9F0f0FE26686c53074E09B0D550), Token Bridge (
0x0290FB167208Af455bB137780163b7B7a9a10C16), and NFT Bridge (
0x26b4afb60d6c903165150c6f0aa14f8016be4aec) contracts to them. They'll also deploy a Test Token (TKN at
0x2D8BE6BF0baA74e0A907016679CaE9190e80dD0A), test NFT (
0x5b9b42d6e4B2e4Bf8d42Eba32D46918e10899B66), and WETH Contract (
0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E) as well.
They'll use the standard Wormhole test mnemonic (
myth like bonus scare over problem client lizard pioneer submit female collect) and use the first key for deployment and payment (Public Key:
0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1, Private Key: (
npm run solana will start up a Solana chain and load in Core Bridge (
Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o) and Token Bridge (
TODO: Add emitter registrations for token bridge.
After you have the dependencies installed and the chains running, you can run Wormhole.
npm run wormhole, which will pull and run the Wormhole Guardian docker image.
- Anvil isn't working
While we recommend Foundry's Forge tool for compiling and deploying code elsewhere in these docs, we do not at this time recommend using anvil for guardiand; this is because guardiand is spec'd against go-ethereum, and anvil is out of spec for how it reports block headers (non left padding to normalize length), which means go-ethereum reacts abnormally and can't read anvil headers.