Deploy a contract
Fenryx's EVM is standard — anything that works on Ethereum mainnet will deploy unchanged. The interesting part is calling native modules from inside Solidity.
1. Toolchain
npm i -g hardhat
# or
cargo install foundry --locked
hardhat.config.ts:
networks: {
fenryx: {
url: 'https://v2.evm.fenryx.io',
chainId: 7373,
accounts: [process.env.PRIVKEY!],
},
}
2. Deploy
npx hardhat run scripts/deploy.ts --network fenryx
The transaction will appear in the explorer within ~1 block.
3. Call native modules
import "@fenryxlabs/contracts/IFenryx.sol";
contract MyVault {
IFenryx constant fenryx = IFenryx(0x0000000000000000000000000000000000007373);
function stake(address validator, uint256 amount) external {
require(fenryx.didLevel(msg.sender) >= 2, "L2 DID required");
fenryx.stake(validator, amount);
}
}
4. Verify
The ABI Decoder page can decode an eth_call blob against
your ABI JSON — useful while iterating on a function selector.