예제 #1
0
def det_hash(x):
    """Deterministically takes sha256 of dict, list, int, or string."""
    #def det_list(l): return '[%s]' % ','.join(map(det, sorted(l)))
    #def det_dict(x):
    #    list_=map(lambda p: det(p[0]) + ':' + det(p[1]), sorted(x.items()))
    #    return '{%s}' % ','.join(list_)
    #def det(x): return {list: det_list, dict: det_dict}.get(type(x), str)(x)
    return hash_(package(x, sort_keys=True))
예제 #2
0
파일: tools.py 프로젝트: wassname/basiccoin
def det_hash(x):  # deterministically takes sha256 of dict, list, int, or string

    def det_list(l): return '[%s]' % ','.join(map(det, sorted(l)))
    
    def det_dict(x): 
        list_ = map(lambda p: det(p[0]) + ':' + det(p[1]), sorted(x.items()))
        return '{%s}' % ','.join(list_)
        
    def det(x): return {list: det_list, dict: det_dict}.get(type(x), str)(x)
    
    return hashlib.sha256(det(unpackage(package(x)))).hexdigest()
예제 #3
0
파일: tools.py 프로젝트: Noelkd/basiccoin
def det_hash(x):  # deterministically takes sha256 of dict, list, int, or string
    def det_list(l):
        return "[%s]" % ",".join(map(det, sorted(l)))

    def det_dict(x):
        list_ = map(lambda p: det(p[0]) + ":" + det(p[1]), sorted(x.items()))
        return "{%s}" % ",".join(list_)

    def det(x):
        return {list: det_list, dict: det_dict}.get(type(x), str)(x)

    return custom.hash_(det(unpackage(package(x))))
예제 #4
0
def det_hash(x):  #deterministically takes sha256 of dict, list, int, or string
    def det_list(l):
        return '[%s]' % ','.join(map(det, sorted(l)))

    def det_dict(x):
        list_ = map(lambda p: det(p[0]) + ':' + det(p[1]), sorted(x.items()))
        return '{%s}' % ','.join(list_)

    def det(x):
        return {list: det_list, dict: det_dict}.get(type(x), str)(x)

    return custom.hash_(det(unpackage(package(x))))
예제 #5
0
def pretty(dic):
    """Pretty print a json-compatible dictionary."""
    print package(dic, sort_keys=True, indent=4)
예제 #6
0
def hash_(x):
    return hashlib.sha256(package(x, sort_keys=True)).hexdigest()
예제 #7
0
def db_put(key, dic, DB={}):
    dic = unpackage(package(dic))  #keeps it deterministic.
    return s_to_db({'type': 'put', 'args': [str(key), dic]})
예제 #8
0
def det_hash(x):
    """Deterministically takes sha256 of dict, list, int, or string."""
    #x=unpackage(package(x))
    #log('in det hash: ' +str(package(x, sort_keys=True)))
    return hash_(package(x, sort_keys=True))
예제 #9
0
def pretty(dic):
    print_(package(dic, sort_keys=True, indent=4))
예제 #10
0
def det_hash(x):
    """Deterministically takes sha256 of dict, list, int, or string."""
    return hash_(package(x, sort_keys=True))
예제 #11
0
def raw_write_page(file, txt):
    with open('db/' + file, 'w') as myfile:
        myfile.write(package(txt))
예제 #12
0
def hash_(x): return hashlib.sha256(package(x, sort_keys=True)).hexdigest()
def guess(n):
예제 #13
0
파일: ht.py 프로젝트: truthcoin/skunkworks
def raw_write_page(file, txt):
    with open('db/'+file, 'w') as myfile: myfile.write(package(txt))
예제 #14
0
def db_put(key, dic, DB):
    return DB['db'].Put(str(key), package(dic))
예제 #15
0
def det_hash(x):#deterministically hash
    def det(x): return {list: (lambda l: '[%s]' % ','.join(map(det, sorted(l)))),
                        dict:(lambda x: '{%s}' % ','.join(map(lambda p: det(p[0]) + ':' + det(p[1]), sorted(x.items()))))}.get(type(x), str)(x)
    return hashlib.sha256(det(unpackage(package(x)))).hexdigest()
예제 #16
0
파일: main.py 프로젝트: appcoreopc/slasher
def put(key, val): return state.update(key, rlp.encode(package(val)))
def delete(key):  return state.delete(key)
예제 #17
0
파일: tools.py 프로젝트: appcoreopc/slasher
def det_hash(x):
    """Deterministically takes sha256 of dict, list, int, or string."""
    #x=unpackage(package(x))
    #log('in det hash: ' +str(package(x, sort_keys=True)))
    return hash_(package(x, sort_keys=True))
예제 #18
0
def pretty(dic):
    print package(dic, sort_keys=True, indent=4)
예제 #19
0
파일: tools.py 프로젝트: appcoreopc/slasher
def db_put(key, dic, DB={}): 
    dic=unpackage(package(dic))#keeps it deterministic.
    return s_to_db({'type':'put', 'args':[str(key), dic]})
예제 #20
0
def det_hash(x):
    """Deterministically takes sha256 of dict, list, int, or string."""
    return hash_(package(x, sort_keys=True))
예제 #21
0
def put(key, val):
    return state.update(key, rlp.encode(package(val)))