Oddbean new post about | logout
 from monero.backends.jsonrpc import JSONRPCDaemon
from monero.transaction import Transaction

# Connect to your Monero node's JSON-RPC server
daemon_rpc_host = "127.0.0.1"
daemon_rpc_port = "18081"
rpc_user = "your_rpc_username"
rpc_password = "your_rpc_password"

daemon = JSONRPCDaemon(host=daemon_rpc_host, port=daemon_rpc_port, user=rpc_user, password=rpc_password)

def verify_monero_supply():
    try:
        # Step 1: Verify total mined supply based on the emission schedule
        total_mined = 0.0
        last_block_height = daemon.info().height - 1

        for block_height in range(1, last_block_height + 1):
            block = daemon.get_block_by_height(block_height)
            # Verify block reward aligns with the expected reward
            total_mined += block.reward

        # Step 2: Verify cryptographic proofs in each transaction
        for block_height in range(1, last_block_height + 1):
            block = daemon.get_block_by_height(block_height)
            for txid in block.tx_hashes:
                tx = daemon.get_transaction(txid)
                transaction = Transaction(tx)
                # Verify Pedersen Commitments
                if not transaction.verify_pedersen_commitments():
                    print(f"Failed Pedersen commitment verification in transaction {txid}")
                    return
                # Verify Bulletproofs (range proofs)
                if not transaction.verify_bulletproofs():
                    print(f"Failed Bulletproof verification in transaction {txid}")
                    return
                # Verify Ring Signatures
                if not transaction.verify_ring_signatures():
                    print(f"Failed Ring Signature verification in transaction {txid}")
                    return

        print(f"Total Monero Mined: {total_mined:.12f} XMR")
        print("All cryptographic proofs verified successfully. No inflation detected.")

    except Exception as e:
        print(f"An error occurred during verification: {e}")

if __name__ == "__main__":
    verify_monero_supply()



There you go.  The problem is it relies on complex cryptography to accomplish this, which is one of the criticisms of Monero.  For more details study the library's implementation of 
verify_pedersen_commitments
verify_bulletproofs
verify_ring_signatures

As far as pedersen being well understood... by whom, by you?  I don't think so.