added function build orphan block - develop

This commit is contained in:
Alexey Karyabkin 2018-04-18 17:49:04 +04:00
parent 77ef176e8a
commit 4a212c2ccd
4 changed files with 55 additions and 0 deletions

14
.idea/deployment.xml Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" serverName="abf.development.bitaps.com">
<serverData>
<paths name="abf.development.bitaps.com">
<serverdata>
<mappings>
<mapping deploy="/home/ubuntu/pybtc" local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
</project>

View File

@ -0,0 +1,14 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="secp256k1" />
</list>
</value>
</option>
</inspection_tool>
</profile>
</component>

15
.idea/webServers.xml Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebServers">
<option name="servers">
<webServer id="1f492b7d-074d-4daf-a1cc-e30c002cdb0d" name="abf.development.bitaps.com" url="http://abf.development.bitaps.com">
<fileTransfer host="abf.development.bitaps.com" port="22" privateKey="$USER_HOME$/.ssh/bitapps" rootFolder="/home/ubuntu/" accessType="SFTP" keyPair="true">
<advancedOptions>
<advancedOptions dataProtectionLevel="Private" />
</advancedOptions>
<option name="port" value="22" />
</fileTransfer>
</webServer>
</option>
</component>
</project>

View File

@ -912,3 +912,15 @@ class BlockTemplate():
block += t["data"]
return double_sha256(header,1), block
def build_orphan(self, hash, ntime):
self.previous_block_hash = hexlify(reverse_hash(s2rh(hash))).decode()
self.time = hexlify(ntime.to_bytes(4, "big")).decode()
self.height += 1
self.transactions = list()
self.txid_list = list()
self.scan_tx_list()
self.coinbase_tx = self.create_coinbase_transaction()
self.coinb1, self.coinb2 = self.split_coinbase()
self.target = bits2target(self.bits)
self.difficulty = target2difficulty(self.target)
self.merkle_branches = [hexlify(i).decode() for i in merkle_branches([self.coinbase_tx.hash, ] + self.txid_list)]