Esempio n. 1
0
import ravencoin
import ravencoin.rpc

import struct
import sys
import time

try:
    if len(sys.argv) not in (2, 3):
        raise Exception

    n = int(sys.argv[1])

    if len(sys.argv) == 3:
        ravencoin.SelectParams(sys.argv[2])
except Exception as ex:
    print(
        'Usage: %s <block-height> [network=(mainnet|testnet|regtest)] > bootstrap.dat'
        % sys.argv[0],
        file=sys.stderr)
    sys.exit(1)

proxy = ravencoin.rpc.Proxy()

total_bytes = 0
start_time = time.time()

fd = sys.stdout.buffer
for i in range(n + 1):
    block = proxy.getblock(proxy.getblockhash(i))
Esempio n. 2
0
# propagated, or distributed except according to the terms contained in the
# LICENSE file.

import argparse
import ravencoin
from ravencoin.rpc import RavenProxy
from magnet import decode_magnet_xt,magnet_uri

parser = argparse.ArgumentParser(description='Recover magnet links from the Ravencoin blockchain')
parser.add_argument("asset_name", help="Name of parent asset")
parser.add_argument("--datadir", help="Path to Raven config directory")
parser.add_argument("--testnet", help="Use Raven testnet",action="store_true")
args=parser.parse_args()

if args.testnet:
    ravencoin.SelectParams("testnet")
else:
    ravencoin.SelectParams("mainnet")

print(f"Recovering links with parent asset name {args.asset_name}, Testnet: {args.testnet}, RPC port: {ravencoin.params.RPC_PORT}\n")

rvn = RavenProxy(datadir=args.datadir)

assets = rvn.listassets(args.asset_name + "#*", True) # list unique assets under asset_name

for asset in assets:
   asset_name = assets[asset].get('name','')
   if asset_name != "":
       try:
           base_name, fn = asset_name.split('#')
       except ValueError:
#
# This file is part of python-ravencoinlib.
#
# It is subject to the license terms in the LICENSE file found in the top-level
# directory of this distribution.
#
# No part of python-ravencoinlib, including this file, may be copied, modified,
# propagated, or distributed except according to the terms contained in the
# LICENSE file.

import unittest

import ravencoin
from ravencoin.core.assets import RvnAssetData

ravencoin.SelectParams("mainnet")


class Test_RVN_ASSET(unittest.TestCase):
    def test_valid(self):
        # standard transfer
        asset_data = RvnAssetData(
            b'rvnt\rNUKA/COLA/CAP\x00\xe9\n\xb5\xe2\x00\x00\x00')
        self.assertTrue(asset_data.asset_name == "NUKA/COLA/CAP")
        self.assertTrue(asset_data.asset_type == "transfer")
        asset_data = RvnAssetData('72766e7404234c544300e1f50500000000')
        self.assertTrue(asset_data.asset_type == "transfer")
        # nullassetdata
        asset_data = RvnAssetData(
            '14d4a4a095e02cd6a9b3cf15cf16cc42dc63baf3e006042342544301')
        self.assertTrue(asset_data.asset_type == "nullassetdata")
Esempio n. 4
0
}

# database used to track claims
database_fn = "./faucet.db"

# maximum address length in requests (sanity check / DoS)
maxAddressLen = 50

cookie_name = 'faucet' # name of cookie used to identify user
cookie_regex = "[0-9a-z]{32}" # regular expression used to validate cookie
cookie_re = re.compile(cookie_regex)

parser = argparse.ArgumentParser(description='Ravencoin faucet server backend')
parser.add_argument("--datadir", help="Path to Raven config directory")
parser.add_argument("--network",default="testnet",choices=['testnet', 'mainnet'])
parser.add_argument("--debug",help="Enable debug output",action='store_true')
args=parser.parse_args()

debug = args.debug

coin_name = coin_info[args.network]['name']
denom = coin_info[args.network]['ticker']
faucet_address = coin_info[args.network]['address']

ravencoin.SelectParams(args.network)

print(f"Faucet config: Listen host={listen_host}:{listen_port}, debug={debug}, Claim amount={claim_amount/COIN} {denom}, IP claim limit {ip_claims_per}/{claim_timespan/(60*60)} hr, wait between claims {claim_wait}s")