Docs
The contract,
in full.
Constants
Functions you will use
The hash, exactly
A miner must reproduce what the contract computes, byte for byte:
digest = keccak256(abi.encodePacked(
bytes32 challengeNumber, // 32 bytes
address msg.sender, // 20 bytes
uint256 nonce // 32 bytes
)) // 84 bytes packed, no padding
A block is any nonce where uint256(digest) ≤ miningTarget. The miner in this site verifies its own result against ethers and then against the chain before it ever asks your wallet to sign.
Status and risk
The contract compiles under solc 0.8.26 and has been run end to end on a local EVM: deploy, read the target, mine a nonce in JavaScript, submit it, and see the balance move from 0 to 50 BTCF, with a replay of the same nonce rejected. That test is the basis for saying it works. It is not an audit, and nobody has reviewed this code but its author.
It has not been deployed to Robinhood Chain yet. Until it is, this site shows a deploy panel instead of a live forge. Deploying costs gas and confers no privileges.
BTCF is mined, not sold. It is not Bitcoin, not backed by Bitcoin, and not redeemable for anything. It has no market, no liquidity and no promise of either.