naeural-client 3.1.3__tar.gz → 3.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.gitignore +2 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/PKG-INFO +1 -1
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/_ver.py +1 -1
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/bc/base.py +13 -8
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/bc/evm.py +4 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/evm_net.py +1 -1
- {naeural_client-3.1.3 → naeural_client-3.1.5}/pyproject.toml +1 -1
- naeural_client-3.1.5/tutorials/ex14_wallets.py +93 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/send_many.py +37 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.devcontainer/Dockerfile +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.devcontainer/devcontainer.json +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.gitattributes +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.github/workflows/python-publish.yml +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/.vscode/launch.json +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/LICENSE +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/README.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/TODOs.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/distributed_custom_code_presets.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/generic_session.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/instance.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/payload/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/payload/payload.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/pipeline.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/plugin_template.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/responses.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/transaction.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/webapp_pipeline.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base_decentra_object.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/bc/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/bc/chain.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/bc/ec.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/certs/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/cli/README.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/cli/cli.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/cli/cli_commands.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/cli/nodes.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/cli/oracles.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/code_cheker/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/code_cheker/base.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/code_cheker/checker.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/comm/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/comm/amqp_wrapper.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/comm/mqtt_wrapper.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/README.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/apps.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/base.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/comms.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/environment.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/formatter.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/heartbeat.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/misc.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/const/payload.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/custom_webapi_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/session/mqtt_session.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/base/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/base/base_formatter.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/a_dummy.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/aixp1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/default.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ifps_keygen +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/ipfs.service +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/launch_service.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/restart.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/run.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/setup.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/show.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/write_key.sh +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/r1fs.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/base_logger.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/small_logger.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/tzlocal/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/tzlocal/unix.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/tzlocal/utils.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/tzlocal/win32.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/plugins_manager_mixin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/__init__.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/comm_utils.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/config.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/dotenv.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/oracle_sync/oracle_tester.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/nepctl.MD +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/requirements.txt +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/.example_env +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/_example_pk_sdk.pem +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex01_part1_connect.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex01_part2_filter.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex01_part3_adv_filter.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex02_part1_deploy_webapi.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex02_part2_deploy_plugin.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex02_part3_deploy_r1fs_test.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex08_custom_webapi.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex10_telegram_echo_bot.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex12_telegram_smart_bot.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/winrun.bat +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/README.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/cstore_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/dauth_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/keys_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/ora_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/ora_sign_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/payload_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/session_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/w3_auth_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/_checks/w3_oracles_check.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/dates/check_date.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/debug/close_pipeline.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/decentralized/chain_dist_example.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/enc_dec/enc_dec_test.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/balance.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/eth_sign.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/info.md +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/send.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/eth/sign.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/multi-enc-dec/multi_test1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/multi-enc-dec/multi_test2.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/pipelines/start.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/pipelines/stop.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/sign/simple_payload_checker.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/sign/test_sign1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/sign/test_sign2.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/utils/get_documentation.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/various/attach_example.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/various/ex1.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/various/hello.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/various/remote_exec.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/various/save_images.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/wl/wl_add.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
- {naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/xarchive/test.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: naeural_client
|
3
|
-
Version: 3.1.
|
3
|
+
Version: 3.1.5
|
4
4
|
Summary: `naeural_client` is the Python SDK required for client app development for the Naeural Edge Protocol Edge Protocol framework
|
5
5
|
Project-URL: Homepage, https://github.com/NaeuralEdgeProtocol/naeural_client
|
6
6
|
Project-URL: Bug Tracker, https://github.com/NaeuralEdgeProtocol/naeural_client/issues
|
@@ -7,7 +7,7 @@ import datetime
|
|
7
7
|
import uuid
|
8
8
|
import requests
|
9
9
|
|
10
|
-
|
10
|
+
from collections import defaultdict
|
11
11
|
from hashlib import sha256, md5
|
12
12
|
from threading import Lock
|
13
13
|
from copy import deepcopy
|
@@ -17,6 +17,7 @@ from cryptography.hazmat.primitives import serialization
|
|
17
17
|
|
18
18
|
from ..utils.config import get_user_folder
|
19
19
|
|
20
|
+
|
20
21
|
from ..const.base import (
|
21
22
|
BCctbase, BCct,
|
22
23
|
DAUTH_SUBKEY, DAUTH_ENV_KEY,
|
@@ -305,9 +306,12 @@ class BaseBlockEngine(_EVMMixin):
|
|
305
306
|
):
|
306
307
|
|
307
308
|
self.__name = name
|
308
|
-
assert log is not None, "Logger object was not provided!"
|
309
|
+
assert log is not None, "Logger object was not provided!"
|
309
310
|
|
310
311
|
self.log = log
|
312
|
+
|
313
|
+
self._first_checks_done = defaultdict(lambda: False) # used to store the first check results
|
314
|
+
|
311
315
|
self.__private_key = None
|
312
316
|
self.__verbosity = verbosity
|
313
317
|
self.__public_key = None
|
@@ -378,7 +382,7 @@ class BaseBlockEngine(_EVMMixin):
|
|
378
382
|
|
379
383
|
if True:
|
380
384
|
self.P("Initializing private blockchain:\n{}".format(
|
381
|
-
json.dumps(self.__config, indent=4)), verbosity=
|
385
|
+
json.dumps(self.__config, indent=4)), verbosity=1
|
382
386
|
)
|
383
387
|
if self.__pem_file is not None:
|
384
388
|
try:
|
@@ -1406,8 +1410,9 @@ class BaseBlockEngine(_EVMMixin):
|
|
1406
1410
|
the status is still 200, an empty dictionary will be returned).
|
1407
1411
|
"""
|
1408
1412
|
if EE_VPN_IMPL:
|
1409
|
-
return
|
1413
|
+
return None # must return None not empty dict for VPNs
|
1410
1414
|
#endif EE_VPN_IMPL
|
1415
|
+
|
1411
1416
|
from naeural_client._ver import __VER__ as sdk_version
|
1412
1417
|
try:
|
1413
1418
|
from ver import __VER__ as app_version
|
@@ -1443,13 +1448,13 @@ class BaseBlockEngine(_EVMMixin):
|
|
1443
1448
|
url = network_data[dAuth.EvmNetData.DAUTH_URL_KEY]
|
1444
1449
|
#endif not in env
|
1445
1450
|
|
1446
|
-
if isinstance(url, str) and len(url) >
|
1451
|
+
if isinstance(url, str) and len(url) > MIN_LEN:
|
1447
1452
|
# Valid URL
|
1448
1453
|
if dauth_endp is None:
|
1449
1454
|
if in_env:
|
1450
|
-
self.P("Found dAuth URL in environment: '{}'".format(url)
|
1455
|
+
self.P("Found dAuth URL in environment: '{}'".format(url))
|
1451
1456
|
else:
|
1452
|
-
self.P("Using default dAuth URL: '{}'".format(url)
|
1457
|
+
self.P("Using default dAuth URL: '{}'".format(url))
|
1453
1458
|
eth_short = self.eth_address[:6] + '...' + self.eth_address[-4:]
|
1454
1459
|
while not done:
|
1455
1460
|
self.P(f"<{eth_short}> ({network}) dAuth with `{url}`... (try {tries + 1} / {max_tries})")
|
@@ -1549,7 +1554,7 @@ class BaseBlockEngine(_EVMMixin):
|
|
1549
1554
|
#end while
|
1550
1555
|
else:
|
1551
1556
|
# Invalid URL, thus dct_env will remain None
|
1552
|
-
self.P(f"dAuth URL is not
|
1557
|
+
self.P(f"dAuth URL is not valid: {url}", color='r')
|
1553
1558
|
#end if url is valid
|
1554
1559
|
if return_full_data:
|
1555
1560
|
return dct_response
|
@@ -190,6 +190,8 @@ class _EVMMixin:
|
|
190
190
|
the network name.
|
191
191
|
|
192
192
|
"""
|
193
|
+
if EE_VPN_IMPL:
|
194
|
+
return "VPN"
|
193
195
|
network = os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
|
194
196
|
if not hasattr(self, "current_evm_network") or self.current_evm_network != network:
|
195
197
|
self.current_evm_network = network
|
@@ -201,6 +203,8 @@ class _EVMMixin:
|
|
201
203
|
|
202
204
|
@property
|
203
205
|
def evm_network(self):
|
206
|
+
if EE_VPN_IMPL:
|
207
|
+
return "VPN"
|
204
208
|
return self.get_evm_network()
|
205
209
|
|
206
210
|
|
@@ -41,7 +41,7 @@ EVM_NET_DATA = {
|
|
41
41
|
'devnet' : {
|
42
42
|
EvmNetData.DAUTH_URL_KEY : "https://devnet-dauth.ratio1.ai/get_auth_data",
|
43
43
|
EvmNetData.DAUTH_ND_ADDR_KEY : "0x9f49fc29366F1C8285d42e7E82cA0bb668B32CeA",
|
44
|
-
EvmNetData.DAUTH_R1_ADDR_KEY : "0xEF38a3d84D3E3111fb7b794Ba3240187b8B32825",
|
44
|
+
EvmNetData.DAUTH_R1_ADDR_KEY : "0xEF38a3d84D3E3111fb7b794Ba3240187b8B32825",
|
45
45
|
EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
|
46
46
|
EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-02-12 16:00:00",
|
47
47
|
EvmNetData.EE_EPOCH_INTERVALS_KEY : 1,
|
@@ -0,0 +1,93 @@
|
|
1
|
+
"""
|
2
|
+
This demo showcases the SDK's ability to enable the sending and receiving of both ETH and $R1 tokens.
|
3
|
+
The script checks balances, waits until some ETH and $R1 are available for distribution, and then
|
4
|
+
proceeds to distribute randomized amounts of ETH and $R1 to multiple peers.
|
5
|
+
|
6
|
+
Along the way, it logs transaction details and updates the balances of both the client and the recipient
|
7
|
+
addresses, ensuring smooth interaction with the Ethereum network and $R1 token. for a few seconds
|
8
|
+
This demo showcases the SDK (and R1 Edge Node) ability for managing ETH and $R1 tokens in a live environment.
|
9
|
+
|
10
|
+
With just a few lines of code, the tutorial demonstrates how to:
|
11
|
+
- Monitor Balances: Continuously check and wait for the client's ETH and $R1 balances to become available.
|
12
|
+
- Automate Distribution: Randomly calculate and distribute tokens to multiple peer addresses.
|
13
|
+
- Transaction Handling: Seamlessly send transactions with built-in logging, gas fee checks, and receipt
|
14
|
+
verification on testnet or devnet networks.
|
15
|
+
|
16
|
+
Its a hands-on, real-world example of how you can effortlessly integrate token transfers into
|
17
|
+
your R1 applications.
|
18
|
+
|
19
|
+
"""
|
20
|
+
import os
|
21
|
+
import time
|
22
|
+
import numpy as np
|
23
|
+
|
24
|
+
from naeural_client.bc import DefaultBlockEngine
|
25
|
+
from naeural_client import Logger
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
if __name__ == '__main__' :
|
30
|
+
eng = DefaultBlockEngine(
|
31
|
+
name="default",
|
32
|
+
log=Logger("BCTEST"),
|
33
|
+
user_config=True, # this is must to use the user config
|
34
|
+
verbosity=2
|
35
|
+
)
|
36
|
+
|
37
|
+
eng.reset_network('devnet')
|
38
|
+
|
39
|
+
file = os.path.join(os.path.dirname(__file__), "mynodes.txt")
|
40
|
+
with open(file, "rt") as fd:
|
41
|
+
lines = fd.readlines()
|
42
|
+
addresses = [line.strip() for line in lines]
|
43
|
+
|
44
|
+
assert eng.evm_network in ['testnet', 'devnet']
|
45
|
+
client_eth = eng.web3_get_balance_eth()
|
46
|
+
client_r1 = eng.web3_get_balance_r1()
|
47
|
+
|
48
|
+
timeout = 120
|
49
|
+
start = time.time()
|
50
|
+
while client_eth == 0 or client_r1 == 0:
|
51
|
+
remaining = 120 - (time.time() - start)
|
52
|
+
if remaining <= 0:
|
53
|
+
break
|
54
|
+
msg = f"Client has {client_eth:.4f} ETH and {client_r1:.4f} $R1"
|
55
|
+
msg += f"\nYou are supposed to have some ETH and $R1 in {eng.eth_address} to distribute to peers"
|
56
|
+
msg += f"\nPlease send some ETH and $R1 to {eng.eth_address} in max {remaining:.0f} seconds"
|
57
|
+
eng.P(msg, color='r')
|
58
|
+
time.sleep(10)
|
59
|
+
client_eth = eng.web3_get_balance_eth()
|
60
|
+
client_r1 = eng.web3_get_balance_r1()
|
61
|
+
|
62
|
+
|
63
|
+
assert client_eth > 0 and client_r1 > 0, "Client has not enough ETH or $R1 to distribute"
|
64
|
+
|
65
|
+
n_peers = len(addresses)
|
66
|
+
amount_eth = (client_eth / 2) / n_peers
|
67
|
+
amount_r1 = (client_r1 / 2) / n_peers
|
68
|
+
eng.P(
|
69
|
+
f"Client {eng.eth_address}:\n {client_eth:>10.4f} ETH\n {client_r1:>10.4f} $R1\n Will distribute (max) {amount_eth:.4f} ETH\n Will distribute (MAX) {amount_r1:.4f} $R1 \n to each of {n_peers} peers",
|
70
|
+
color='g'
|
71
|
+
)
|
72
|
+
|
73
|
+
for address in addresses:
|
74
|
+
random_amount_eth = np.random.uniform(0.7, 0.99) * amount_eth
|
75
|
+
random_amount_r1 = np.random.uniform(0.7, 1.1) * amount_r1
|
76
|
+
eng.P(f" Sending {random_amount_eth:.4f} ETH to {address}", color='b')
|
77
|
+
tx_hash = eng.web3_send_eth(address, random_amount_eth, wait_for_tx=True, return_receipt=False)
|
78
|
+
time.sleep(2) # bit of extra sleep time
|
79
|
+
eng.P(f" Executed tx: {tx_hash}", color='g')
|
80
|
+
|
81
|
+
eng.P(f" Sending {random_amount_r1:.4f} $R1 to {address}", color='b')
|
82
|
+
tx_hash = eng.web3_send_r1(address, random_amount_r1, wait_for_tx=True, return_receipt=False)
|
83
|
+
time.sleep(2) # bit of extra sleep time
|
84
|
+
eng.P(f" Executed tx: {tx_hash}", color='g')
|
85
|
+
eth_balance = eng.web3_get_balance_eth(address)
|
86
|
+
r1_balance = eng.web3_get_balance_r1(address)
|
87
|
+
eng.P(f" ETH Balance of {address} is {eth_balance:.4f} ETH")
|
88
|
+
eng.P(f" R1 Balance of {address} is {r1_balance:.4f} R1")
|
89
|
+
|
90
|
+
time.sleep(5)
|
91
|
+
client_eth = eng.web3_get_balance_eth()
|
92
|
+
client_r1 = eng.web3_get_balance_r1()
|
93
|
+
eng.P(f"Client has {client_eth:.4f} ETH and {client_r1:.4f} $R1")
|
@@ -1,3 +1,22 @@
|
|
1
|
+
"""
|
2
|
+
This demo showcases the SDK's ability to enable the sending and receiving of both ETH and $R1 tokens.
|
3
|
+
The script checks balances, waits until some ETH and $R1 are available for distribution, and then
|
4
|
+
proceeds to distribute randomized amounts of ETH and $R1 to multiple peers.
|
5
|
+
|
6
|
+
Along the way, it logs transaction details and updates the balances of both the client and the recipient
|
7
|
+
addresses, ensuring smooth interaction with the Ethereum network and $R1 token. for a few seconds
|
8
|
+
This demo showcases the SDK (and R1 Edge Node) ability for managing ETH and $R1 tokens in a live environment.
|
9
|
+
|
10
|
+
With just a few lines of code, the tutorial demonstrates how to:
|
11
|
+
- Monitor Balances: Continuously check and wait for the client's ETH and $R1 balances to become available.
|
12
|
+
- Automate Distribution: Randomly calculate and distribute tokens to multiple peer addresses.
|
13
|
+
- Transaction Handling: Seamlessly send transactions with built-in logging, gas fee checks, and receipt
|
14
|
+
verification on testnet or devnet networks.
|
15
|
+
|
16
|
+
Its a hands-on, real-world example of how you can effortlessly integrate token transfers into
|
17
|
+
your R1 applications.
|
18
|
+
|
19
|
+
"""
|
1
20
|
import os
|
2
21
|
import time
|
3
22
|
from copy import deepcopy
|
@@ -21,6 +40,24 @@ if __name__ == '__main__' :
|
|
21
40
|
assert eng.evm_network in ['testnet', 'devnet']
|
22
41
|
client_eth = eng.web3_get_balance_eth()
|
23
42
|
client_r1 = eng.web3_get_balance_r1()
|
43
|
+
|
44
|
+
timeout = 120
|
45
|
+
start = time.time()
|
46
|
+
while client_eth == 0 or client_r1 == 0:
|
47
|
+
remaining = 120 - (time.time() - start)
|
48
|
+
if remaining <= 0:
|
49
|
+
break
|
50
|
+
msg = f"Client has {client_eth:.4f} ETH and {client_r1:.4f} $R1"
|
51
|
+
msg += f"\nYou are supposed to have some ETH and $R1 in {eng.eth_address} to distribute to peers"
|
52
|
+
msg += f"\nPlease send some ETH and $R1 to {eng.eth_address} in max {remaining:.0f} seconds"
|
53
|
+
l.P(msg, color='r')
|
54
|
+
time.sleep(10)
|
55
|
+
client_eth = eng.web3_get_balance_eth()
|
56
|
+
client_r1 = eng.web3_get_balance_r1()
|
57
|
+
|
58
|
+
|
59
|
+
assert client_eth > 0 and client_r1 > 0, "Client has not enough ETH or $R1 to distribute"
|
60
|
+
|
24
61
|
n_peers = len(addresses)
|
25
62
|
amount_eth = (client_eth / 2) / n_peers
|
26
63
|
amount_r1 = (client_r1 / 2) / n_peers
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/base/distributed_custom_code_presets.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/instance/net_mon_01_plugin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/default/session/mqtt_session.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/base/base_formatter.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/__init__.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/a_dummy.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/default/default.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/io_formatter/io_formatter_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/ipfs/ipfs_setup/launch_service.sh
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/datetime_mixin.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/download_mixin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/process_mixin.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/timers_mixin.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/upload_mixin.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/logging/logger_mixins/utils_mixin.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/naeural_client/utils/oracle_sync/oracle_tester.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/8. custom_code_fastapi_assets/index.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex03_custom_code_on_one_remote__example_1.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex04_custom_code_on_one_remote__example_2.py
RENAMED
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/ex05_custom_code_on_one_remote__example_3.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/tutorials/video_presentation/1. hello_world.ipynb
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/decentralized/chain_dist_example.py
RENAMED
File without changes
|
File without changes
|
{naeural_client-3.1.3 → naeural_client-3.1.5}/xperimental/decentralized/chain_dist_example_worker.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|