Avalanche Cross-Chain Messaging & BLS Precompile
Budget: $10 – $60 USD
I’m working on a project involving Avalanche and need help with two components:
1. Cross-Chain Messaging with Mock Verification:
I want to deploy a custom Avalanche L1 locally. A dApp on the C-chain sends a message (including a BLS signature and public key) to the L1. The L1 can mock-verify the signature (always returns true) and send the result back to the C-chain.
Resources: I’ve been exploring Avalanche Academy’s course on Cross-L1 dApps (https://academy.avax.network/course/interchain-messaging) and the Avalanche-Starter-Kit repo (https://github.com/ava-labs/avalanche-starter-kit).
2. BLS Signature Verification Using Precompiles:
I want to create a Go-based precompile for verifying BLS signatures using the avalanchego BLS crypto package (https://pkg.go.dev/github.com/ava-labs/avalanchego@v1.11.8/utils/crypto/bls). The precompile should be compatible with the mock verification contract from the first task.
Resources: I’m referencing Avalanche Academy’s EVM customization guide (https://academy.avax.network/course/customizing-evm) and the Precompile-EVM repo (https://github.com/ava-labs/precompile-evm).
I’m new to building precompiles and cross-chain dApps on Avalanche. Any guidance on implementing these would be greatly appreciated, especially on:
Setting up the local environment (VMs, networks).
Structuring the mock verification logic.
Using Go for the precompile.
1. Cross-Chain Messaging with Mock Verification:
I want to deploy a custom Avalanche L1 locally. A dApp on the C-chain sends a message (including a BLS signature and public key) to the L1. The L1 can mock-verify the signature (always returns true) and send the result back to the C-chain.
Resources: I’ve been exploring Avalanche Academy’s course on Cross-L1 dApps (https://academy.avax.network/course/interchain-messaging) and the Avalanche-Starter-Kit repo (https://github.com/ava-labs/avalanche-starter-kit).
2. BLS Signature Verification Using Precompiles:
I want to create a Go-based precompile for verifying BLS signatures using the avalanchego BLS crypto package (https://pkg.go.dev/github.com/ava-labs/avalanchego@v1.11.8/utils/crypto/bls). The precompile should be compatible with the mock verification contract from the first task.
Resources: I’m referencing Avalanche Academy’s EVM customization guide (https://academy.avax.network/course/customizing-evm) and the Precompile-EVM repo (https://github.com/ava-labs/precompile-evm).
I’m new to building precompiles and cross-chain dApps on Avalanche. Any guidance on implementing these would be greatly appreciated, especially on:
Setting up the local environment (VMs, networks).
Structuring the mock verification logic.
Using Go for the precompile.