<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>
区块链实战: 使用JavaScript修改和重新签名区块数据

原文地址: https://www.cveoy.top/t/topic/fwUK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录