{"id":23353960,"url":"https://github.com/epicchainlabs/epicchain-python","last_synced_at":"2025-09-09T21:40:06.625Z","repository":{"id":266107729,"uuid":"830841985","full_name":"epicchainlabs/epicchain-python","owner":"epicchainlabs","description":"The epicchain-python library provides a robust Python interface for interacting with the EpicChain blockchain platform. This library simplifies integration with EpicChain’s native protocols and storage solutions, allowing developers to build and manage blockchain-based applications with ease.","archived":false,"fork":false,"pushed_at":"2024-12-02T15:53:00.000Z","size":1520,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-12-02T16:42:12.778Z","etag":null,"topics":["blockchain-development","blockchain-tools","decentralized-apps","epicchain-api","epicchain-ecosystem","epicchain-integration","epicchain-python","python-blockchain","python-library","smart-contracts"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epicchainlabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-19T05:47:27.000Z","updated_at":"2024-12-02T15:53:03.000Z","dependencies_parsed_at":"2024-12-02T16:43:20.527Z","dependency_job_id":"20da1de2-5a93-47b1-a03c-949e55a84fd9","html_url":"https://github.com/epicchainlabs/epicchain-python","commit_stats":null,"previous_names":["epicchainlabs/epicchain-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicchainlabs%2Fepicchain-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epicchainlabs","download_url":"https://codeload.github.com/epicchainlabs/epicchain-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230695560,"owners_count":18266172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain-development","blockchain-tools","decentralized-apps","epicchain-api","epicchain-ecosystem","epicchain-integration","epicchain-python","python-blockchain","python-library","smart-contracts"],"created_at":"2024-12-21T09:17:22.789Z","updated_at":"2024-12-21T09:17:30.657Z","avatar_url":"https://github.com/epicchainlabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\nOverview\n--------\n\nWhat EpicChain Offers\n\n- **Alternative Implementation**: EpicChain serves as an advanced implementation of blockchain technology, designed to support the evolving needs of modern applications.\n- **Node Functionality**: Operate a Python-based P2P node for interacting with the blockchain network.\n- **Interactive CLI**: Configure nodes and inspect blockchain status with a comprehensive command-line interface.\n- **Smart Contracts**: Compile, test, deploy, and execute smart contracts written in various programming languages, including Python. Supports smart contracts in the `.avm` format.\n- **Wallet Functionality**: Basic wallet functionalities (still under development and not yet recommended for mainnet use).\n- **Compliance**: Supports XEP2, XEP5, XEP-7, and XEP-8 standards for seamless token and contract management.\n- **RPC Services**: Includes RPC client and server for communication and data exchange.\n- **Notification Server**: View real-time transfers of XEP5 tokens with integrated notification services.\n- **Event Monitoring**: Track `Runtime.Log` and `Runtime.Notify` events for comprehensive monitoring.\n\nFuture Capabilities\n\n- **Consensus Nodes**: Enhancing the network with robust consensus nodes.\n- **Smart Contract Debugging**: Advanced tools for debugging and inspecting smart contracts.\n\nDocumentation\n\nThe full documentation on how to install, configure, and use EpicChain is available at `Read The Docs \u003chttps://epicchain.readthedocs.io/en/latest/\u003e`.\n\nGet Help or Contribute\n\n- **Report Issues**: Open a new `issue \u003chttps://github.com/EpicChain/epicchain/issues/new\u003e`_ if you encounter problems.\n- **Community Support**: Connect with us on the `EpicChain Discord \u003chttps://discord.gg/EpicChain\u003e`_ for support and community interaction.\n- **Contributions**: Pull requests are welcome! Check the issue list for ideas on how you can contribute, from enhancing wallet features to writing tests and documentation.\n\nGetting Started\n---------------\n\n**EpicChain** has two system dependencies (all other dependencies are covered with `pip`):\n\n- `LevelDB \u003chttps://github.com/google/leveldb\u003e`_\n- `Python 3.7 \u003chttps://www.python.org/downloads/release/python-373/\u003e`_ (Python 3.6 and below are not supported)\n\nWe have a Youtube `video \u003chttps://www.youtube.com/watch?v=ZZXz261AXrM\u003e`_ to help you get started. More tutorials are available on the `EpicChain Youtube channel \u003chttps://www.youtube.com/channel/UCzlQUNLrRa8qJkz40G91iJg\u003e`_.\n\nDocker\n------\n\nFor a streamlined setup, use Docker to run EpicChain. Example Dockerfiles are available in the `/docker` folder \u003chttps://github.com/EpicChain/epicchain/tree/development/docker\u003e, and an image is available on Docker Hub, tagged after EpicChain releases: https://hub.docker.com/r/epicchain/epicchain/\n\nNative Installation\n-------------------\n\n**LevelDB Installation:**\n\n- **OSX:**\n\n  ::\n\n      brew install leveldb\n\n- **Ubuntu/Debian 18.04+:**\n\n  Instructions for installing Python `3.7.3` or newer on Ubuntu are detailed in `this Ubuntu guide \u003chttps://linuxize.com/post/how-to-install-python-3-7-on-ubuntu-18-04/\u003e`.\n\n- **CentOS/RedHat/Fedora:**\n\n  Follow `this CentOS guide \u003chttps://tecadmin.net/install-python-3-7-on-centos/\u003e`_ for Python `3.7.3` installation.\n\n- **Windows:**\n\n  For Windows users, it's recommended to use the Linux subsystem with Ubuntu or a Virtual Machine. Set up the Linux subsystem with `Ubuntu 18.04` from the Microsoft Store here: https://www.microsoft.com/en-us/p/ubuntu-1804/9n9tngvndl3q?activetab=pivot%3aoverviewtab. More details are available `here \u003chttps://medium.com/@gubanotorious/installing-and-running-epicchain-on-windows-10-284fb518b213\u003e`_.\n\n**Python 3.7+ Compatibility**\n\nEpicChain is compatible with **Python 3.7 and later**. Install it via your package manager or download it from the `official homepage \u003chttps://www.python.org/downloads/\u003e`_.\n\nInstallation Steps\n\n\nIt's recommended to use a virtual environment to manage project dependencies and avoid conflicts.\n\n1. **Install from GitHub:**\n\n  ::\n\n    git clone https://github.com/EpicChain/epicchain.git\n    cd epicchain\n\n    # Switch to development branch if needed\n    git checkout development\n\n    # Create and activate virtual environment using Python 3.7\n    python3.7 -m venv venv\n    source venv/bin/activate\n\n    # Install the package\n    (venv) pip install wheel -e .\n\n2. **Install from PyPi:**\n\n  ::\n\n    mkdir myproject\n    cd myproject\n\n    # Create and activate virtual environment using Python 3.7\n    python3.7 -m venv venv\n    source venv/bin/activate\n\n    (venv) pip install wheel epicchain\n\nRunning EpicChain\n-----------------\n\nAfter installation and environment activation, use the CLI (`epic-prompt`) to start the node and interact with it.\n\n::\n\n    epic-prompt\n    EpicChain CLI. Type 'help' to get started\n\n    epic\u003e show state\n    Progress: 10926 / 11145\n    Block-cache length 0\n    Blocks since program start 0\n    Time elapsed 0.02598465 mins\n    Blocks per min 0\n    TPS: 0\n\n    epic\u003e\n\nQuery for blockchain data by block hash or index:\n\n::\n\n    epic-prompt\n    EpicChain CLI. Type 'help' to get started\n\n    epic\u003e show block 122235\n    {\n        \"hash\": \"0xf9d7bc6f337a6cbe124b92b90ad7b29e2628e78202ea2daa19ed93fdc779c0e6\",\n        \"size\": 686,\n        \"version\": 0,\n        \"previousblockhash\": \"0x1f262a0979d6da0eabaaf54252fb2508564a99fee642a77ff0773671fe5fddb9\",\n        \"merkleroot\": \"0x5d4f86734c2a53187aa96751b9180d69f85f9bd7875f2eb83a27666ad052ea1e\",\n        \"time\": 1496920870,\n        \"index\": 122235,\n        \"nonce\": \"7847dea9df7571c1\",\n        \"nextconsensus\": \"AdyQbbn6ENjqWDa5JNYMwN3ikNcA4JeZdk\",\n        \"script\": {\n            \"invocation\": \"40e5a7d23cb065308412d769ca2ba6dd974aa453d0c915c25a7d951488eaa6c4eff5bbe251f01725b959fb89e7dd631f7f41efd50897c466d75e8359154f6137bf402f690a98a44e5ecb22e7f20bb75bac40cac89f4805f4706ec9daf8e6ccc15def216d667423bb148e78db9461e288d7363f699741a0efb4c7c6c6dc902250cf3f4023ba2eb464aa8841cb2230c0f9f016a47c1e54e1f809da550743c33b0529b5996f4c5993a38bb73887e0b3fd7a093f6abd00d136048169a99cf34373560b8956408e816d0a0b018c348070da63f513b5b3332\n\n\n            \"verification\": \"55210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821034ff5ceeac41acf22cd5ed2da17a6df4dd8358fcb2bfb1a43208ad0feaab2746b21026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf92102d02b1873a0863cd042cc717da31cea0d7cf9db32b74d4c72c01b0011503e2e2257ae\"\n        },\n        \"tx\": [\n            {\n                \"txid\": \"0x5d4f86734c2a53187aa96751b9180d69f85f9bd7875f2eb83a27666ad052ea1e\",\n                \"size\": 10,\n                \"type\": \"MinerTransaction\",\n                \"version\": 0,\n                \"attributes\": [],\n                \"vout\": [],\n                \"vin\": [],\n                \"sys_fee\": \"0\",\n                \"net_fee\": \"0\",\n                \"scripts\": [],\n                \"nonce\": 3749016001\n            }\n        ]\n    }\n    epic\u003e\n\nBootstrapping the Blockchain\n\n\nIf you use epicchain-python for the first time, you need to synchronize the\nblockchain, which may take a long time. Included in this project is the script\n``np-bootstrap`` to automatically download a chain directory for you.\n\nnp-bootstrap Usage\n^^^^^^^^^^^^^^^^^^\n\n::\n\n    $ np-bootstrap -h\n    usage: np-bootstrap [-h] [-m] [-c CONFIG] [-n] [-s] [--datadir DATADIR]\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -m, --mainnet         use MainNet instead of the default TestNet\n      -c CONFIG, --config CONFIG\n                            Use a specific config file\n      -n, --notifications   Bootstrap notification database\n      -s, --skipconfirm     Bypass warning about overwriting data in Chains\n      -k, --keep-bootstrap-file\n                            Keep the downloaded bootstrap file\n      --datadir DATADIR     Absolute path to use for database directories\n\nBootrapping Testnet\n^^^^^^^^^^^^^^^^^^^\n\nTo bootstrap the testnet blockchain, run ``np-bootstrap``, get a cup of coffee\nand wait. Then, bootstrap the testnet notifications database with ``np-bootstrap -n``.\n\nBootstrapping Mainnet\n^^^^^^^^^^^^^^^^^^^^^\n\nTo bootstrap the mainnet blockchain, run ``np-bootstrap -m`` and get 8 cups of coffee\n(9+ GB file). Then, bootstrap the mainnet notifications database with\n``np-bootstrap -m -n``.\n\nBasic Wallet commands\n\n\n::\n\n    wallet create {wallet_path}\n    wallet open {wallet_path}\n    wallet close\n\n    wallet (verbose)\n    wallet rebuild (start block)\n\n    wallet import wif {wif}\n    wallet export wif {address}\n\n    wallet send {args}       # (EpicChain/EpicPulse)\n    wallet token send {args} # XEP5\n\n\nFor a complete list of commands use ``help``.\n\nRunning on MainNet\n\n\nTo run the prompt on MainNet, you can use the CLI argument ``-m`` (eg.\n``np-prompt -m``), for running on PrivNet you can use ``-p``. Be\nsure to check out the details of the parameters:\n\n::\n\n    $ np-prompt -h\n    usage: np-prompt [-h] [-m | -p [host] | --coznet | -c CONFIG]\n                     [-t {dark,light}] [-v] [--datadir DATADIR] [--version]\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -m, --mainnet         Use MainNet instead of the default TestNet\n      -p [host], --privnet [host]\n                            Use a private net instead of the default TestNet,\n                            optionally using a custom host (default: 127.0.0.1)\n      --coznet              Use the CoZ network instead of the default TestNet\n      -c CONFIG, --config CONFIG\n                            Use a specific config file\n      -t {dark,light}, --set-default-theme {dark,light}\n                            Set the default theme to be loaded from the config\n                            file. Default: 'dark'\n      -v, --verbose         Show smart-contract events by default\n      --datadir DATADIR     Absolute path to use for database directories\n      --maxpeers MAXPEERS   Max peers to use for P2P Joining\n      --version             show program's version number and exit\n\nLogging\n\n\nCurrently, ``np-prompt`` logs to ``prompt.log``\n\n\nTests\n-----\n\nNote we make use of a Blockchain fixture database (15 MB). This file is not kept in the repo,\nbut is downloaded the first time the tests are run, this can take some time (depending on the internet connection),\nbut happens only once.\n\nUseful commands\n---------------\n\n::\n\n    make lint\n    make test\n    make coverage\n    make docs\n\n\n    # run only epicchain-python tests\n    python -m unittest discover epicchain\n\n    # run only epicchain-boa tests\n    python -m unittest discover boa_test\n\nUpdating the version number and releasing new versions of epicchain-python\n--------------------------------------------------------------------\n\nThis is a checklist for releasing a new version, which for now means:\n\n1. Merging the changes from development into master\n2. Setting the version from eg. ``0.4.6-dev`` to ``0.4.6`` (which\n   automatically created a tag/release)\n3. On the dev branch, setting the version to the next patch, eg.\n   ``0.4.7-dev``\n4. Pushing master, development and the tags to GitHub\n\nMake sure you are on the development branch and have all changes merged\nthat you want to publish. Then follow these steps:\n\n::\n\n    # Only in case you want to increase the version number again (eg. scope changed from patch to minor):\n    # bumpversion --no-tag minor|major\n\n    # Update CHANGELOG.rst: make sure all changes are there and remove `-dev` from the version number\n    vi CHANGELOG.rst\n    git commit -m \"Updated changelog for release\" CHANGELOG.rst\n\n    # Merge development branch into master\n    git checkout master\n    git merge development\n\n    # Set the release version number and create the tag\n    bumpversion release\n\n    # Switch back into the development branch\n    git checkout development\n\n    # Increase patch number and add `-dev`\n    bumpversion --no-tag patch\n\n    # Push to GitHub, which also updates the PyPI package and Docker Hub image\n    git push origin master development --tags\n\nTroubleshooting\n---------------\n\nIf you run into problems, check these things before ripping out your\nhair:\n\n-  Double-check that you are using Python 3.7.x\n-  Update the project dependencies (``pip install -e .``)\n-  If you encounter any problems, please take a look at the\n   `installation\n   section \u003chttps://epicchain-python.readthedocs.io/en/latest/install.html#further-install-notes\u003e`_\n   in the docs, and if that doesn't help open an issue. We'll try to\n   help.\n-  You can reach us on the `EpicChain Discord \u003chttps://discord.gg/R8v48YA\u003e`_,\n   or simply file a `GitHub\n   issue \u003chttps://github.com/epicchainlabs/epicchain-python/issues/new\u003e`_.\n\nLicense\n-------\n\n-  Open-source\n   `MIT \u003chttps://github.com/epicchainlabs/epicchain-python/blob/master/LICENSE.md\u003e`_.\n-  Contributors: `@localhuman \u003chttps://github.com/localhuman\u003e`_ (Creator), `@metachris \u003chttps://github.com/metachris\u003e`_, `@ixje \u003chttps://github.com/ixje\u003e`_, and `many more \u003chttps://github.com/epicchainlabs/epicchain-python/graphs/contributors\u003e`_\n\nDonations\n---------\n\nAccepted at **ATEMNPSjRVvsXmaJW4ZYJBSVuJ6uR2mjQU**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicchainlabs%2Fepicchain-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepicchainlabs%2Fepicchain-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicchainlabs%2Fepicchain-python/lists"}