Noir Nargo recursive proof and verification (verification not working; have to re-create params): https://github.com/noir-lang/noir/tree/master/tooling/nargo_cli/tests/execution_success/double_verify_proof
Noir JavaScript recursive proof and verification: https://github.com/noir-lang/noir-examples/tree/master/recursion
On-chain (Solidity, EVM) proof verification: https://github.com/noir-lang/noir-starter/blob/489c06f0f4f20deab530df4fa917b504625a70b9/next-hardhat/components/component.tsx#L47
Poseidon hash (JavaScript) https://github.com/noir-lang/noir-in-an-afternoon/blob/master/utils/poseidon.ts using Noir-compatible Circom Library Poseidon hash: https://github.com/iden3/circomlibjs/blob/main/src/poseidon_wasm.js
ZK Kit (Sparse Merkle Trees etc.; not used in this project) https://zkkit.pse.dev/index.html