Python SDK for ApePay
Reason this release was yanked:
Missing manifest
Project description
ApePay
A smart contract payment system built for automated service management
About
See the blog post to learn more about ApePay!
Documentation
Coming soon!
Contributing
ApePay is open source and we welcome all contributors! Check out the following to get started.
TODOs:
- Initial implementation
- Documentation
- Live testing on Sepolia
- Production deployment on Arbitrum
- Frontend management console, for managing subscriptions
Setup (Python)
First, install Ape
Second, make sure to install the plugins:
$ ape plugins install . --upgrade
Next, prior to installing the SDK package, you have to compile the project:
$ ape compile
The SDK package relies on a soft link in [`./sdk/py/apepay/manifest.json`](./sdk/py/apepay/manifest.json)
Lastly, install the SDK package via:
$ poetry install
Then you are ready to contribute!
Setup (JS)
In order to contribute to the JS SDK and React component library, or to build the demo app, you need to first follow the Python Setup instructions to compile the smart contract package.
Next, you need install the node packages for development:
$ npm install
In order to work on the React component library, you need to compile the JS SDK:
$ npm run build --workspace=sdk/js
In order to work on the Demo app, you need to compile the JS SDK (like above) as well as compile the React component library:
$ npm run build --workspace=ui/lib
Then you are ready to contribute!
To run the demo app in development mode, do the following:
$ npm run dev --workspace=ui/app
To build the demo app for production, do the following:
$ npm run build --workspace=ui/app
Testing
To run tests, just use Ape:
$ ape test
To see gas usage, add the --gas
flag:
$ ape test --gas
Scripts
To deploy a StreamManager (for testing purposes), run:
$ ape run deploy manager [TOKEN_ADDRESS [...]]
# Or if `ape tokens` is installed with a valid tokenlist
$ ape run deploy manager [TOKEN_SYMBOL [...]]
To deploy the StreamFactory (for production use), run:
$ ape run deploy factory
To deploy a Token (for testing use only), run:
$ ape run deploy token
This test token has an unauthenticated mint, please do not use in production!
To run the demo ApePay cluster daemon, first run a node like anvil
:
$ anvil --derivation-path "m/44'/60'/0'/" --block-time 1 --prune-history
NOTE: the --derivation-path
flag makes ape's test accounts match anvil's
Then run the daemon:
$ silverback run scripts.daemon:app --network ::foundry --account TEST::0
After that, it's suggested to start ape console
and create a stream to watch the daemon react
Publishing
Given the monorepo structure, it's a bit more challenging to distribute all the packages in this repo.
Contracts
TBD
Python SDK
To publish the Python package, there are 5 steps.
# 1. Install everything
$ poetry install`
# 2. Compile the package manifest
$ ape compile
# 3. Copy the package manifest to the Python SDK folder
$ cp .build/__local__.json sdk/py/apepay/manifest.json
# 4. Build the Python SDK with Poetry
$ poetry build
# 5. Publish the package
$ poetry publish
NOTE: make sure to revision the package before publishing, or it will fail.
Javscript SDK and React component library
To publish the JS SDK, do the following:
# 1. Install everything
$ npm install --all-workspaces
# 2. Build SDK
$ npm run build --workspace=sdk/js
# 3. Publish SDK
$ npm publish --workspace=sdk/js
NOTE: make sure to revision the package before publishing, or it will fail.
TO publish the React Component library, do the same thing as the SDK exepct use the ui/lib
workspace.
Demo App and Management Console
TBD
License
ApePay is licensed Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file apepay-0.2.1.tar.gz
.
File metadata
- Download URL: apepay-0.2.1.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.10 Linux/6.2.0-32-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 269f08192c61db63b9466fb917100e82d316fb5dd65159afd616e51193bd55c3 |
|
MD5 | 3882b7c95463e790db100b52c90b55f9 |
|
BLAKE2b-256 | 114eab64d1a75a5243e650fcaa9a3922b6e0daa2a7bb75d78c2382b8e0eb0359 |
File details
Details for the file apepay-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: apepay-0.2.1-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.10 Linux/6.2.0-32-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 268b0dc65412445ad4c068e69421aa2fda61415a1d01a1d674b0f7c12af36779 |
|
MD5 | de662b481a5ecf88ba5cee59b9b77f9f |
|
BLAKE2b-256 | 80c14968f6393894423958331c7dfd8484865818e1e5b7a5bcc8bc3ca2fb6930 |