Exemplo n.º 1
0
def write2oracle(CHAIN, ORCLID, MSG):
    print("MSG: " + str(MSG))
    rawhex = codecs.encode(MSG).hex()

    #get length in bytes of hex in decimal
    bytelen = int(len(rawhex) / int(2))
    hexlen = format(bytelen, 'x')

    #get length in big endian hex
    if bytelen < 16:
        bigend = "000" + str(hexlen)
    elif bytelen < 256:
        bigend = "00" + str(hexlen)
    elif bytelen < 4096:
        bigend = "0" + str(hexlen)
    elif bytelen < 65536:
        bigend = str(hexlen)
    else:
        print("message too large, must be less than 65536 characters")

    #convert big endian length to little endian, append rawhex to little endian length
    lilend = bigend[2] + bigend[3] + bigend[0] + bigend[1]
    fullhex = lilend + rawhex

    print("CHAIN: " + CHAIN)
    print("ORCLID: " + ORCLID)
    print("fullhex: " + fullhex)
    oraclesdata_result = getconf.oraclesdata_rpc(CHAIN, ORCLID, fullhex)
    print(str(oraclesdata_result))
    result = oraclesdata_result['result']
    if result == 'error':
        print('ERROR:' + oraclesdata_result['error'] +
              ', try using oraclesregister if you have not already')
    else:
        print('event written to ' + CHAIN)
        print('aes: ' + MSG)
        rawtx = oraclesdata_result['hex']
        sendrawtx_result = getconf.sendrawtx_rpc(CHAIN, rawtx)
    return result
Exemplo n.º 2
0
#get length in bytes of hex in decimal
bytelen = int(len(rawhex) / int(2))
hexlen = format(bytelen, 'x')

#get length in big endian hex
if bytelen < 16:
    bigend = "000" + str(hexlen)
elif bytelen < 256:
    bigend = "00" + str(hexlen)
elif bytelen < 4096:
    bigend = "0" + str(hexlen)
elif bytelen < 65536:
    bigend = str(hexlen)
else:
    print("message too large, must be less than 65536 characters")

#convert big endian length to little endian, append rawhex to little endian length
lilend = bigend[2] + bigend[3] + bigend[0] + bigend[1]
fullhex = lilend + rawhex

print("fullhex: " + fullhex)
oraclesdata_result = getconf.oraclesdata_rpc(CHAIN, ORCLID, fullhex)
print(str(oraclesdata_result))
result = oraclesdata_result['result']
if result == 'error':
    print('ERROR:' + oraclesdata_result['error'] +
          ', try using oraclesregister if you have not already')
rawtx = oraclesdata_result['hex']

sendrawtx_result = getconf.sendrawtx_rpc(CHAIN, rawtx)