Published: 20 Mar 2026 › Updated: 20 Mar 2026

Never trust AI to with your testing parameters. Make them manually by yourself before concluding your code is bad.
Got expected parameters from AI to test, but most of them are flawed. Had to recalculate them by myself and change a few and ignore others.
// --- Arrange ---
QByteArray chainId = QByteArray::fromHex(
"beeab0de00000000000000000000000000000000000000000000000000000000"
);
QByteArray serialized = QByteArray::fromHex(
"010001000000f1536501010201610162e80300000000000003484956450000000000"
);
QByteArray expectedDigest = QByteArray::fromHex(
"357d8e5c7240f993b0eee33d2d577acb2e453a54cdb10b066db830b584b02d8f"
);
QByteArray expectedSignature = QByteArray::fromHex(
"1f6b1a9c7e8d5c4b3a291817161514131211100f0e0d0c0b0a0908070605040302"
"2100abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef"
);
QByteArray privateKey = QByteArray::fromHex(
"0c28fca386c7a2276ac819d1c3a5d6f0d3c2c0e8e1d5f6c2dff7e94ece66d3bb"
);
QByteArray digest = QCryptographicHash::hash(
chainId + serialized,
QCryptographicHash::Sha256
);
qDebug() << "chainId :" << chainId.toHex();
qDebug() << "serialized:" << serialized.toHex();
qDebug() << "digest :" << digest.toHex();
qDebug() << "expected :" << expectedDigest.toHex();
qDebug() << "PrivateKey:" << privateKey.toHex();
QVERIFY(digest.size() == 32);
QCOMPARE(digest, expectedDigest);
QByteArray sig1 = crypto::Secp256k1::signRecoverable(digest, privateKey);
QByteArray sig2 = crypto::Secp256k1::signRecoverable(digest, privateKey);
QByteArray signature = crypto::Secp256k1::signRecoverable(digest, privateKey);
qDebug() << "Signature: " << signature.toHex();
QByteArray pubkey = crypto::Secp256k1::recoverPublicKey(digest, signature);
QByteArray expectedPub = crypto::Secp256k1::derivePublicKey(privateKey);
qDebug() << "Recovered pubkey: " << pubkey.toHex();
qDebug() << "Expected pubkey: " << expectedPub.toHex();
QCOMPARE(pubkey, expectedPub);
// Determinism
QCOMPARE(sig1, sig2);
// Structure
QVERIFY(signature.size() == 65);
uint8_t header = static_cast<uint8_t>(signature[0]);
QVERIFY(header >= 31 && header <= 34);
// Cryptographic validity
QCOMPARE(pubkey, expectedPub);
//Flawed expectations
// QCOMPARE(signature, expectedSignature);
gave me
chainId : "beeab0de00000000000000000000000000000000000000000000000000000000"
serialized: "010001000000f1536501010201610162e80300000000000003484956450000000000"
digest : "357d8e5c7240f993b0eee33d2d577acb2e453a54cdb10b066db830b584b02d8f"
expected : "357d8e5c7240f993b0eee33d2d577acb2e453a54cdb10b066db830b584b02d8f"
PrivateKey: "0c28fca386c7a2276ac819d1c3a5d6f0d3c2c0e8e1d5f6c2dff7e94ece66d3bb"
Signature: "20e0c056d76dc0ee9d41a4bc9a535fe06f66b28b3192fa771fd643e5ca25a198be64204c6aad0738442729d465e9b5ebfb56af2790282732f21ec1364a5008f193"
Recovered pubkey: "036a65ad2d29e0119178fe797533172285b1f80f874a8b21ca0fa79e6edf8de726"
Expected pubkey: "036a65ad2d29e0119178fe797533172285b1f80f874a8b21ca0fa79e6edf8de726"
If you trust my capability to run a stable and updated Hive Witness...
Vote for me as your Hive Witness
If you want to support Brazilian creators...
Vote curator @perfilbrasil for Hive Witness
Delegations to
@perfilbrasil are rewarded here.
Leave Never trust AI to with your testing parameters. Make them manually by yourself before concluding your code is bad. to:
Read more #hive posts
Best Posts From Fernando Soder
We have not curated any of fernandosoder's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Fernando Soder
- Just a script I made to back up IPFS files into my personal Kubo.
- Nala loafing in her first winter with us.
- Misadventures in Korea making other "aliens" afraid for their safety.
- Walking through the park, saw happy scene that brought sad memory.
- Why is cli_wallet serializing transactions in HIVE as STEEM?
- Never trust AI to with your testing parameters. Make them manually by yourself before concluding your code is bad.
- All tests successfuly completed.
- Just testing this Hive Betting App
- Não sei se é fake ou se é real. Mas em todo caso, aqui vai a avaliação.
- United States needs to overwrite several parts of the 12th amendment.