区块链页面修改和签名验证:重新签名并挖矿
以下代码展示了如何在 Blockchain 页面修改最后一个区块的内容,并使用 Re-Sign 按钮重新签名,最后使用 Mine 按钮重新挖矿,使区块颜色变为绿色。
function Re_Sign(block, chain, txCount) {
var prvKey;
var privateKey = '3246682748916715930126614383969781536061972969392768902285144431999548494857';
if (privateKey) {
prvKey = ec.keyFromPrivate(privateKey);
}
for (var i = 0; i < txCount; i++) {
var message = $('#block' + block + 'chain' + chain + 'tx' + i + 'value').val() +
$('#block' + block + 'chain' + chain + 'tx' + i + 'from').val() +
'0409f33fe53388d62e23bdbda22d78e9f98a127c0706b5ce446b1c2278f83c082a1e2c5bceaadd9be273c2be23af53a248c4b70ba966b150cb39a7e0a583e496cf' +
$('#block' + block + 'chain' + chain + 'tx' + i + 'to').val() +
$('#block' + block + 'chain' + chain + 'tx' + i + 'seq').val();
var binaryMessage = buffer.Buffer.from(CryptoJS.SHA256(message).toString(CryptoJS.enc.Hex));
var hexSignature = buffer.Buffer.from(prvKey.sign(binaryMessage).toDER()).toString('hex');
$('#block' + block + 'chain' + chain + 'tx' + i + 'sig').val(hexSignature);
}
setup(block, chain, txCount);
}
操作步骤:
- 修改 From 字段: 在 Blockchain 页面,找到最后一个区块,并将
From字段的值修改为你的组号的公钥地址,例如:0409f33fe53388d62e23bdbda22d78e9f98a127c0706b5ce446b1c2278f83c082a1e2c5bceaadd9be273c2be23af53a248c4b70ba966b150cb39a7e0a583e496cf。 - 重新签名: 点击
Re-Sign按钮,该按钮会使用你的私钥3246682748916715930126614383969781536061972969392768902285144431999548494857对修改后的区块进行重新签名,并更新Sig字段的值。Sig字段的内容将会变成黑色。 - 重新挖矿: 点击
Mine按钮,该按钮会模拟挖矿过程,并将区块的颜色变为绿色。
提示:
- 确保你在正确的环境中运行代码,并且已经配置好必要的库文件。
- 为了完成本作业,可以在修改的代码内嵌入你的私钥和公钥。
- 重新签名和挖矿过程需要一定的时间,请耐心等待。
原文地址: https://www.cveoy.top/t/topic/fwWa 著作权归作者所有。请勿转载和采集!