コード例 #1
0
#coding=utf8
import datetime
import time
import hashlib

from dbc.options import get_options
from dbc.block import Block
from dbc import utils

options = get_options()


class State():
    def __init__(self, miner_address, block, trans, peer_nodes, mining):
        self.time = time.time()
        self.miner_address = miner_address
        self.block = block
        self.trans = trans
        self.mining = mining
        self.peer_nodes = peer_nodes

    def trans_add(self, trans):
        self.trans.append(trans)

    def block_pack(self):
        index = self.block['index'] + 1
        timestamp = str(time.time())
        self.trans = sorted(self.trans,
                            key=lambda k: float(k['trans'].get('fee', 0)),
                            reverse=True)
        trans_index = 0
コード例 #2
0
ファイル: transfer.py プロジェクト: csynine/dbc
import os
import json

from dbc import account
from dbc.log import LOG

from dbc.options import get_options

transfer_opts = [{
    "name": 'trans_path_format',
    "default": "%s/utxo/%s.json",
    "help": 'this will save trans as json by this path',
    "type": str,
}]

options = get_options(transfer_opts, 'init')


def transfer_save(trans):
    file_name = transfer_hash(trans)
    file(options.trans_path_format % (options.chain_dir, file_name),
         'w').write(trans)
    return file_name


def transfer_hash(trans):
    sha = hashlib.sha256()
    sha.update(trans.encode('utf-8'))
    return sha.hexdigest()