区块链实战: 使用JavaScript修改和重新签名区块数据
<form class='form-group'>
<div class='col-sm-2'>
<i class='icon-spinner icon-spin icon-large'></i>
</div>
<div class='col-sm'>
<button class='btn btn-primary ladda-button' id='block{{block}}chain{{chain}}mineButton' data-style='expand-right'>
<span class='ladda-label'>Mine</span>
</button>
<button class='btn btn-primary ladda-button' id='block{{block}}chain{{chain}}Re_Sign' data-style='expand-right' type='button' onclick='Re_Sign({{block}}, {{chain}}, {{txCount}});'>
<span class='ladda-label'>Re_Sign</span>
</button>
</div>
</form>
<script>
function Re_Sign(block, chain, txCount) {
var prvKey;
var privateKey = '17438465789284951830180423588170655994243680290202372931915516373087136933698';
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() +
'04098f2e08c4c19ce0f08116cea4af351f4318bfb712a436b860091c09206cbf483314717dbfbe999a0abfa7a79d10f972b4e0bf4f90045e25083858bad0a6d126' +
$('#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);
}
</script>
<h3>修改区块数据实战</h3>
<p>在Blockchain页面中,按照以下步骤修改和重新签名区块数据:</p>
<ol>
<li>找到第一行最后一个区块。</li>
<li>将'From'字段的内容修改为你的公钥地址 (04098f2e08c4c19ce0f08116cea4af351f4318bfb712a436b860091c09206cbf483314717dbfbe999a0abfa7a79d10f972b4e0bf4f90045e25083858bad0a6d126)。</li>
<li>点击'Re-Sign'按钮重新签名区块交易。你会注意到'Sig'字段的内容变成了黑色,表示签名已更新。</li>
<li>点击'Mine'按钮重新挖矿,验证修改后的区块。区块颜色将变为绿色,表示成功添加到区块链中。</li>
</ol>
<p><strong>注意:</strong> 本示例代码中嵌入了私钥'17438465789284951830180423588170655994243680290202372931915516373087136933698',仅供学习使用。在实际应用中,请妥善保管您的私钥。</p>
原文地址: https://www.cveoy.top/t/topic/fwUK 著作权归作者所有。请勿转载和采集!