See Hello World for a more complete example of sending and receiving messages.
Install dependencies
# Download and install foundryup
curl -L https://foundry.paradigm.xyz | bash
# Install foundry
foundryup
# Install forge-std
forge install foundry-rs/forge-std --no-git --no-commit
# Install prettier
npm ci
To use Docker for foundry dependencies
# Pull foundry image
docker pull ghcr.io/foundry-rs/foundry:latest
# Tag for shorter commands
docker tag ghcr.io/foundry-rs/foundry:latest foundry:latest
# Example build
docker run -v $PWD:/app foundry "forge build --root /app -c contracts"
Build the contracts and typescript bindings
forge build -c contracts
npm run typechain
Deploy and test "Wormhole only" contracts
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run deploy-wormhole-only
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run test-wormhole-only
Deploy and test "Wormhole and Native" contracts
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run deploy-wormhole-and-native
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run test-wormhole-and-native
Deploy and test "Wormhole and Signer" contracts
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run deploy-wormhole-and-signer
PRIVATE_KEY=<YOUR_PRIVATE_KEY> npm run test-wormhole-and-signer