.container { width:100% !important; }"
],
"text/plain": [
"{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>.container { width:100% !important; }</style>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.core.display import display, HTML\\n",
"display(HTML(\\"<style>.container { width:100% !important; }</style>\\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Set Up Environment"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"connections = {\\n",
"\\"mainnet\\": {\\"iconservice\\": \\"<https://ctz.solidwallet.io>\\", \\"nid\\": 1},\\n",
"\\"yeouido\\": {\\"iconservice\\": \\"<https://bicon.net.solidwallet.io>\\", \\"nid\\": 3},\\n",
"\\"euljiro\\": {\\"iconservice\\": \\"<https://test-ctz.solidwallet.io>\\", \\"nid\\": 2},\\n",
"\\"pagoda\\": {\\"iconservice\\": \\"<https://zicon.net.solidwallet.io>\\", \\"nid\\":80},\\n",
"\\"custom\\": {\\"iconservice\\": \\"<http://13.57.193.25:9000/\\>", \\"nid\\": 3}}\\n",
"\\n",
"env = connections[\\"custom\\"] # mainnet, yeouido, euljiro, pagoda, custom"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"from iconsdk.exception import JSONRPCException\\n",
"from iconsdk.libs.in_memory_zip import gen_deploy_data_content\\n",
"from iconsdk.icon_service import IconService\\n",
"from iconsdk.providers.http_provider import HTTPProvider\\n",
"from iconsdk.builder.transaction_builder import CallTransactionBuilder, TransactionBuilder, DeployTransactionBuilder\\n",
"from iconsdk.builder.call_builder import CallBuilder\\n",
"from iconsdk.signed_transaction import SignedTransaction\\n",
"from iconsdk.wallet.wallet import KeyWallet\\n",
"from iconsdk.utils.convert_type import convert_hex_str_to_int\\n",
"from repeater import retry\\n",
"import json\\n",
"import os\\n",
"\\n",
"ICX = 1000000000000000000 # 10**18\\n",
"GOVERNANCE_ADDRESS = \\"cx0000000000000000000000000000000000000000\\"\\n",
"\\n",
"contracts = {'dex': {'zip': 'core_contracts/dex.zip', 'SCORE': 'cx7915f8111043cb6a8f42a528af16de0fe0690834'},\\n",
" 'sicx': {'zip': 'token_contracts/sicx.zip', 'SCORE': 'cxced84c6b7d71465a9b99396137df2d7da233a6a3'},\\n",
" 'icd': {'zip': 'token_contracts/icd.zip', 'SCORE': 'cx9e7d7d88de153f7ae3117472f278169475674b09'},\\n",
" 'bal': {'zip': 'token_contracts/bal.zip', 'SCORE': 'cx7ddc34e80e6e96f66f67255fa8f3b87e6b7a648a'}}\\n",
"\\n",
"@retry(JSONRPCException, tries=10, delay=1, back_off=2)\\n",
"def get_tx_result(_tx_hash):\\n",
" tx_result = icon_service.get_transaction_result(_tx_hash)\\n",
" return tx_result"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"icon_service = IconService(HTTPProvider(env[\\"iconservice\\"], 3))\\n",
"NID = env[\\"nid\\"]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"wallet = KeyWallet.load(\\"keystores/keystore_test1.json\\", \\"test1_Account\\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Raised JSONRPCException while returning the custom response. Error message: {'code': -32602, 'message': 'Pending transaction'}\\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'code': -32602, 'message': 'Pending transaction'} (Json rpc error), Retrying in 1 seconds...\\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Raised JSONRPCException while returning the custom response. Error message: {'code': -32602, 'message': 'Pending transaction'}\\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'code': -32602, 'message': 'Pending transaction'} (Json rpc error), Retrying in 1 seconds...\\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Raised JSONRPCException while returning the custom response. Error message: {'code': -32602, 'message': 'Pending transaction'}\\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'code': -32602, 'message': 'Pending transaction'} (Json rpc error), Retrying in 2 seconds...\\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Raised JSONRPCException while returning the custom response. Error message: {'code': -32602, 'message': 'Pending transaction'}\\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'code': -32602, 'message': 'Pending transaction'} (Json rpc error), Retrying in 1 seconds...\\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Raised JSONRPCException while returning the custom response. Error message: {'code': -32602, 'message': 'Pending transaction'}\\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'code': -32602, 'message': 'Pending transaction'} (Json rpc error), Retrying in 1 seconds...\\n"
]
},
{
"data": {
"text/plain": [
"{'dex': {'zip': 'core_contracts/dex.zip',\\n",
" 'SCORE': 'cx7915f8111043cb6a8f42a528af16de0fe0690834'},\\n",
" 'sicx': {'zip': 'token_contracts/sicx.zip',\\n",
" 'SCORE': 'cxced84c6b7d71465a9b99396137df2d7da233a6a3'},\\n",
" 'icd': {'zip': 'token_contracts/icd.zip',\\n",
" 'SCORE': 'cx9e7d7d88de153f7ae3117472f278169475674b09'},\\n",
" 'bal': {'zip': 'token_contracts/bal.zip',\\n",
" 'SCORE': 'cx7ddc34e80e6e96f66f67255fa8f3b87e6b7a648a'}}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"step_limit = 4000100000\\n",
"\\n",
"for score, loc in contracts.items():\\n",
" deploy_transaction = DeployTransactionBuilder()\\\\\\n",
" .from_(wallet.get_address())\\\\\\n",
" .to(GOVERNANCE_ADDRESS)\\\\\\n",
" .nid(NID)\\\\\\n",
" .nonce(100)\\\\\\n",
" .content_type(\\"application/zip\\")\\\\\\n",
" .content(gen_deploy_data_content(loc[\\"zip\\"]))\\\\\\n",
" .build()\\n",
"\\n",
" signed_transaction = SignedTransaction(deploy_transaction, wallet, step_limit)\\n",
" tx_hash = icon_service.send_transaction(signed_transaction)\\n",
"\\n",
" res = get_tx_result(tx_hash)\\n",
" contracts[score][\\"SCORE\\"] = res['scoreAddress']\\n",
"contracts"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}