Browse Source

scale test - sendmany + yaml update

revert-24-test_rpcbind_to_assetname
patchkez 7 years ago
parent
commit
7bb5bb2ca0
No known key found for this signature in database GPG Key ID: 4595A869E6E9F5A7
  1. 61
      dragonriders/dokomodo/cli.py
  2. 4
      dragonriders/dokomodo/templates/docker-compose-template.conf.j2
  3. 14
      dragonriders/dokomodo/yaml/config.ini
  4. 444
      dragonriders/dokomodo/yaml/data.yaml
  5. 1
      dragonriders/requirements.txt

61
dragonriders/dokomodo/cli.py

@ -10,6 +10,8 @@ import click
from py import path
from sys import exit
from os import path as expander
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
# asset_data_url = ("https://raw.githubusercontent.com/patchkez/kmdplatform/"
# "master/yaml/data.yaml")
@ -60,6 +62,11 @@ class Config(object):
self.rpc_password = self.assetchains['rpc_password']
self.write_path_conf = self.assetchains['write_path_conf']
self.scaling_tests = ini_parser['SCALING_TESTING']
self.sendtomany_recipients = self.scaling_tests['sendtomany_recipients']
self.number_of_requests = self.scaling_tests['number_of_requests']
self.delay_between_requests = self.scaling_tests['delay_between_requests']
def write_config(self, dirname, filename, templatized_config):
# If directory is not set, set it to current directory
if dirname is False:
@ -90,22 +97,25 @@ def cli(config):
@click.command('generate_docker_compose',
short_help='Generates docker-compose file with all assetchains')
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production']),
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production',
'test']),
prompt=True)
@pass_config
def generate_docker_compose(ctx, branch):
""" TODO """
filename = 'docker-compose_assets_' + branch + '.yml'
dirname = "./"
click.echo('Writing new docker compose file into: {}'.format(filename))
template = env.get_template('docker-compose-template.conf.j2')
templatized_config = template.render(items=ctx.config_data['assetchains'][branch],
seed_ip=ctx.seed_ip, mined=ctx.mined_coins, btcpubkey=ctx.btcpubkey)
ctx.write_config(filename=filename, templatized_config=templatized_config)
ctx.write_config(dirname, filename=filename, templatized_config=templatized_config)
@click.command('assetchains', short_help='Replacement for assetchains script')
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production']),
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production',
'test']),
prompt=True)
@pass_config
def assetchains(ctx, branch):
@ -128,7 +138,8 @@ def assetchains(ctx, branch):
@click.command('generate_assetchains_conf', short_help='Generates configuration file for \
assetchains')
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production']))
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production',
'test']))
@click.option('-a', '--asset', required=False)
@pass_config
def generate_assetchains_conf(ctx, branch, asset):
@ -160,10 +171,52 @@ def generate_assetchains_conf(ctx, branch, asset):
templatize(assetchain_name)
@click.command('sendmany_assetchains', short_help='Import private key into assetchains')
@click.option('-b', '--branch', required=True, type=click.Choice(['development', 'production',
'test']))
@click.option('-a', '--asset', required=False)
@pass_config
def sendmany_assetchains(ctx, branch, asset):
def send_request(assetchain_name, assetchain_rpcport):
assetchain_rpcuser = 'rpcuser'
assetchain_rpcpassword = 'rpcpassword'
# request_url = (
# 'http://' + asset_rpcuser + ':' + asset_rpcpassword + '@' + assetchain_name + ':' +
# assetchain_rpcport)
rpc_connection = AuthServiceProxy("http://%s:%s@%s:%s" % (assetchain_rpcuser,
assetchain_rpcpassword, assetchain_name, int(assetchain_rpcport)))
try:
rpc_connection.sendmany("", ctx.sendtomany_recipients)
except JSONRPCException as e:
click.echo("Error: %s" % e.error['message'])
counter = 0
while counter < float(ctx.number_of_requests):
# click.echo(ctx.config_data['assetchains'][branch])
for assetchain_name in ctx.config_data['assetchains'][branch]:
# click.echo(type(assetchain_name))
rpc_port = ctx.config_data['assetchains'][branch][assetchain_name]['rpc_port']
if asset and asset == assetchain_name:
click.echo('Sending request to: {}'.format(assetchain_name))
send_request(assetchain_name, rpc_port)
elif asset:
pass
else:
click.echo('Sending request to: {}'.format(assetchain_name))
send_request(assetchain_name, rpc_port)
counter += 1
sleep(ctx.delay_between_requests)
# Add functions into cli() function which is main group for all commands
cli.add_command(generate_docker_compose)
cli.add_command(assetchains)
cli.add_command(generate_assetchains_conf)
cli.add_command(sendmany_assetchains)
if __name__ == "__main__":

4
dragonriders/dokomodo/templates/docker-compose-template.conf.j2

@ -34,8 +34,8 @@ services:
{% if 'random' in mine %}
{% if range(0, 32767) | random % 10 == 1 %}
-gen{% endif %}
{% endif %}"
{% endfor %}
{% endif %}
{% endfor %}"
{% endfor %}

14
dragonriders/dokomodo/yaml/config.ini

@ -24,3 +24,17 @@ rpc_username = rpcusernameINI
rpc_password = rpcpasswordINI
write_path_conf = ~/.komodo
[SCALING_TESTING]
sendtomany_recipients = {
'14Z1mazY4HfysZyMaKudFr63EwHqQT2njz': 50.0,
'147dRpRoYQxpf5WGnz7dipCcavtANRRfjt': 50.0
}
# Number of requests to be send against assetchains
number_of_requests = 100
# Delay in seconds between each loop
delay_between_requests = 0.5

444
dragonriders/dokomodo/yaml/data.yaml

@ -1,7 +1,7 @@
assetchains:
production:
REVS:
ammount: 1300000
amount: 1300000
p2p_port: 10195
rpc_port: 10196
SUPERNET:
@ -88,6 +88,7 @@ assetchains:
amount: 100000000
p2p_port: 15430
rpc_port: 15431
development:
PIZZA:
amount: 100000000
@ -98,4 +99,443 @@ assetchains:
p2p_port: 8922
rpc_port: 8923
seed_host: zero.kolo.supernet.org
test:
TXSCL:
ammount: 100000000
p2p_port: 11820
rpc_port: 11821
TXSCL000:
ammount: 100000000
p2p_port: 13272
rpc_port: 13273
TXSCL001:
ammount: 100000000
p2p_port: 11997
rpc_port: 11998
TXSCL002:
ammount: 100000000
p2p_port: 12739
rpc_port: 12740
TXSCL003:
ammount: 100000000
p2p_port: 15564
rpc_port: 15565
TXSCL004:
ammount: 100000000
p2p_port: 8160
rpc_port: 8161
TXSCL005:
ammount: 100000000
p2p_port: 13663
rpc_port: 13664
TXSCL006:
ammount: 100000000
p2p_port: 8457
rpc_port: 8458
TXSCL007:
ammount: 100000000
p2p_port: 15750
rpc_port: 15751
TXSCL008:
ammount: 100000000
p2p_port: 12561
rpc_port: 12562
TXSCL00a:
ammount: 100000000
p2p_port: 8594
rpc_port: 8595
TXSCL00b:
ammount: 100000000
p2p_port: 14497
rpc_port: 14498
TXSCL00c:
ammount: 100000000
p2p_port: 13513
rpc_port: 13514
TXSCL00d:
ammount: 100000000
p2p_port: 13250
rpc_port: 13251
TXSCL00e:
ammount: 100000000
p2p_port: 15705
rpc_port: 15706
TXSCL00f:
ammount: 100000000
p2p_port: 12034
rpc_port: 12035
TXSCL010:
ammount: 100000000
p2p_port: 8973
rpc_port: 8974
TXSCL011:
ammount: 100000000
p2p_port: 9472
rpc_port: 9473
TXSCL012:
ammount: 100000000
p2p_port: 15604
rpc_port: 15605
TXSCL013:
ammount: 100000000
p2p_port: 13995
rpc_port: 13996
TXSCL014:
ammount: 100000000
p2p_port: 10769
rpc_port: 10770
TXSCL015:
ammount: 100000000
p2p_port: 14641
rpc_port: 14642
TXSCL016:
ammount: 100000000
p2p_port: 15592
rpc_port: 15593
TXSCL017:
ammount: 100000000
p2p_port: 15046
rpc_port: 15047
TXSCL018:
ammount: 100000000
p2p_port: 11106
rpc_port: 11107
TXSCL019:
ammount: 100000000
p2p_port: 12614
rpc_port: 12615
TXSCL01a:
ammount: 100000000
p2p_port: 10584
rpc_port: 10585
TXSCL01b:
ammount: 100000000
p2p_port: 8555
rpc_port: 8556
TXSCL01c:
ammount: 100000000
p2p_port: 12887
rpc_port: 12888
TXSCL01d:
ammount: 100000000
p2p_port: 13677
rpc_port: 13678
TXSCL01e:
ammount: 100000000
p2p_port: 14188
rpc_port: 14189
TXSCL01f:
ammount: 100000000
p2p_port: 9595
rpc_port: 9596
TXSCL020:
ammount: 100000000
p2p_port: 12369
rpc_port: 12370
TXSCL021:
ammount: 100000000
p2p_port: 13399
rpc_port: 13400
TXSCL022:
ammount: 100000000
p2p_port: 11462
rpc_port: 11463
TXSCL023:
ammount: 100000000
p2p_port: 14020
rpc_port: 14021
TXSCL024:
ammount: 100000000
p2p_port: 14290
rpc_port: 14291
TXSCL025:
ammount: 100000000
p2p_port: 15264
rpc_port: 15265
TXSCL026:
ammount: 100000000
p2p_port: 10699
rpc_port: 10700
TXSCL027:
ammount: 100000000
p2p_port: 9005
rpc_port: 9006
TXSCL028:
ammount: 100000000
p2p_port: 15443
rpc_port: 15444
TXSCL029:
ammount: 100000000
p2p_port: 14233
rpc_port: 14234
TXSCL02a:
ammount: 100000000
p2p_port: 10183
rpc_port: 10184
TXSCL02b:
ammount: 100000000
p2p_port: 8438
rpc_port: 8439
TXSCL02c:
ammount: 100000000
p2p_port: 15069
rpc_port: 15070
TXSCL02d:
ammount: 100000001
p2p_port: 8038
rpc_port: 8039
TXSCL02e:
ammount: 100000000
p2p_port: 15776
rpc_port: 15777
TXSCL02f:
ammount: 100000000
p2p_port: 8914
rpc_port: 8915
TXSCL030:
ammount: 100000000
p2p_port: 15083
rpc_port: 15084
TXSCL031:
ammount: 100000000
p2p_port: 9137
rpc_port: 9138
TXSCL032:
ammount: 100000000
p2p_port: 15132
rpc_port: 15133
TXSCL033:
ammount: 100000000
p2p_port: 9145
rpc_port: 9146
TXSCL034:
ammount: 100000000
p2p_port: 8358
rpc_port: 8359
TXSCL035:
ammount: 100000000
p2p_port: 14505
rpc_port: 14506
TXSCL036:
ammount: 100000000
p2p_port: 10862
rpc_port: 10863
TXSCL037:
ammount: 100000000
p2p_port: 12772
rpc_port: 12773
TXSCL038:
ammount: 100000000
p2p_port: 11177
rpc_port: 11178
TXSCL039:
ammount: 100000000
p2p_port: 13042
rpc_port: 13043
TXSCL03a:
ammount: 100000000
p2p_port: 14984
rpc_port: 14985
TXSCL03b:
ammount: 100000000
p2p_port: 15626
rpc_port: 15627
TXSCL03c:
ammount: 100000000
p2p_port: 14366
rpc_port: 14367
TXSCL03d:
ammount: 100000000
p2p_port: 8793
rpc_port: 8794
TXSCL03e:
ammount: 100000000
p2p_port: 9293
rpc_port: 9294
TXSCL03f:
ammount: 100000000
p2p_port: 11828
rpc_port: 11829
TXSCL040:
ammount: 100000000
p2p_port: 14637
rpc_port: 14638
TXSCL041:
ammount: 100000000
p2p_port: 15489
rpc_port: 15490
TXSCL042:
ammount: 100000000
p2p_port: 15378
rpc_port: 15379
TXSCL044:
ammount: 100000000
p2p_port: 15243
rpc_port: 15244
TXSCL045:
ammount: 100000000
p2p_port: 10524
rpc_port: 10525
TXSCL046:
ammount: 100000000
p2p_port: 12924
rpc_port: 12925
TXSCL047:
ammount: 100000000
p2p_port: 14885
rpc_port: 14886
TXSCL048:
ammount: 100000000
p2p_port: 13528
rpc_port: 13529
TXSCL049:
ammount: 100000000
p2p_port: 11181
rpc_port: 11182
TXSCL04a:
ammount: 100000000
p2p_port: 13893
rpc_port: 13894
TXSCL04b:
ammount: 100000000
p2p_port: 12872
rpc_port: 12873
TXSCL04c:
ammount: 100000000
p2p_port: 9443
rpc_port: 9444
TXSCL04d:
ammount: 100000000
p2p_port: 9725
rpc_port: 9726
TXSCL04e:
ammount: 100000000
p2p_port: 10053
rpc_port: 10054
TXSCL04f:
ammount: 100000000
p2p_port: 14330
rpc_port: 14331
TXSCL050:
ammount: 100000000
p2p_port: 11145
rpc_port: 11146
TXSCL051:
ammount: 100000000
p2p_port: 13771
rpc_port: 13772
TXSCL052:
ammount: 100000000
p2p_port: 9659
rpc_port: 9660
TXSCL053:
ammount: 100000000
p2p_port: 13700
rpc_port: 13701
TXSCL054:
ammount: 100000000
p2p_port: 8244
rpc_port: 8245
TXSCL055:
ammount: 100000000
p2p_port: 9671
rpc_port: 9672
TXSCL056:
ammount: 100000000
p2p_port: 14113
rpc_port: 14114
TXSCL057:
ammount: 100000000
p2p_port: 8235
rpc_port: 8236
TXSCL058:
ammount: 100000000
p2p_port: 10242
rpc_port: 10243
TXSCL059:
ammount: 100000000
p2p_port: 10624
rpc_port: 10625
TXSCL05a:
ammount: 100000000
p2p_port: 15076
rpc_port: 15077
TXSCL05b:
ammount: 100000000
p2p_port: 15514
rpc_port: 15515
TXSCL05c:
ammount: 100000000
p2p_port: 9624
rpc_port: 9625
TXSCL05d:
ammount: 100000000
p2p_port: 11983
rpc_port: 11984
TXSCL05e:
ammount: 100000000
p2p_port: 10367
rpc_port: 10368
TXSCL05f:
ammount: 100000000
p2p_port: 10060
rpc_port: 10061
TXSCL060:
ammount: 100000000
p2p_port: 8886
rpc_port: 8887
TXSCL061:
ammount: 100000000
p2p_port: 13417
rpc_port: 13418
TXSCL062:
ammount: 100000000
p2p_port: 13947
rpc_port: 13948
TXSCL063:
ammount: 100000000
p2p_port: 13004
rpc_port: 13005
TXSCL064:
ammount: 100000001
p2p_port: 14899
rpc_port: 14900
TXSCL065:
ammount: 100000000
p2p_port: 10515
rpc_port: 10516
TXSCL066:
ammount: 100000000
p2p_port: 10236
rpc_port: 10237
TXSCL067:
ammount: 100000000
p2p_port: 14752
rpc_port: 14753
TXSCL068:
ammount: 100000000
p2p_port: 11562
rpc_port: 11563
TXSCL069:
ammount: 100000000
p2p_port: 10600
rpc_port: 10601
TXSCL06a:
ammount: 100000000
p2p_port: 9860
rpc_port: 9861
TXSCL06b:
ammount: 100000000
p2p_port: 13425
rpc_port: 13426
TXSCL06c:
ammount: 100000000
p2p_port: 13846
rpc_port: 13847
TXSCL06d:
ammount: 100000000
p2p_port: 14456
rpc_port: 14457
# seed_host: zero.kolo.supernet.org
seed_host: 54.36.176.84

1
dragonriders/requirements.txt

@ -6,3 +6,4 @@ py
ipython
configparser
colorama
python-bitcoinrpc

Loading…
Cancel
Save