Meowpow
C/C++ implementation of Meowpow – the Meowcoin Proof of Work algorithm
Table of Contents
Install
Build from source using CMake.
mkdir build
cd build
cmake ..
cmake --build .
Python wheel (PyPI)
This repo includes Python bindings (CFFI) and can build a binary wheel.
py -m pip install -U build
py -m build -w
The wheel will be written to the dist/ directory.
Note: building a wheel requires a working C/C++ toolchain and CMake.
Multiple Python versions (3.10–3.13)
Binary wheels are Python-version-specific (e.g. cp310, cp311, ...). To build a
set of wheels for multiple Python versions, use cibuildwheel:
py -m pip install -U cibuildwheel
py -m cibuildwheel --output-dir dist
Usage
See meowpow.hpp for list of exported function and documentation.
Test vectors
Optimizations
This section decscribes the optimizations, modification and tweaks applied in this library in relation to Meowpow reference implementation.
The library contains a set of micro-benchmarks. Build and run bench tool.
Seed hash is computed on the fly.
Seed hash is sequence of keccak256 hashes applied the epoch number of times. Time needed to compute seed hash is negligible comparing to time needed to build light cache. Computing seed hash for epoch 10000 takes ~ 5 ms, building light cache for epoch 1 takes ~ 500 ms.
Dataset size is computed on the fly
Computing the size of full dataset and light cache requires finding the largest prime number given an upper bound. For similar reasons as with seed hash, this is computed on the fly. The procedure used is quite naive and forks well only up to 40-bit number, so some additional improvement can be done in future.
Maintainer
Paweł Bylica @chfast
License
Licensed under the Apache License, Version 2.0.
Metadata
Release files for meowpow 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| meowpow-0.5.2.tar.gz | 45.6 kB | Without provenance | Details for meowpow-0.5.2.tar.gz |
Built distributions (wheels)
Total release size: 4.7 MB
Release files / meowpow-0.5.2.tar.gz
| Download URL | meowpow-0.5.2.tar.gz |
|---|---|
| Size | 45.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e22df01d1f57b84de4649b84df55d00d5365b24f375a02577b14030b2a2b9f4
|
|
BLAKE2b-256 checksum How to use checksums |
0125008e2eba4068eb58ba4920e8d29670d8fc40ce0f6a06e06baebf4c824f20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp313-cp313-win_amd64.whl
| Download URL | meowpow-0.5.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 26.0 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
87b02bc2647c520bae983ced48a18af5b0c2e38f4a01829d7213d770466e2b14
|
|
BLAKE2b-256 checksum How to use checksums |
64ff3b290738fc639b0d32166bcf919e0800898b592e043912b5922baab9aca3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | meowpow-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
aa04246b936838d1cfe91c6901d91916658fed5da0f811bef700124130edab35
|
|
BLAKE2b-256 checksum How to use checksums |
bcc878ea794b7ade281f13d2ed7fb8ce37f1b56869dbcbbf47019ce45ac5714f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | meowpow-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 39.1 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f65464bee0feee56b738e21c7e59f8f1ad9f0bcaf38de95f640c0181d6df8670
|
|
BLAKE2b-256 checksum How to use checksums |
1aa7cde4e6fc64fa06a24aa24f58e5229e65c7ecb89ccbad04f7b4415d47802b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | meowpow-0.5.2-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 23.7 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5790e2d428153b902b3e8d3619a1bd988a984874b1bfb6de2f670a984266420d
|
|
BLAKE2b-256 checksum How to use checksums |
14171db5d920f2e8619c22454ccfbf0dc81496c88ec2ca7c85124785a41fedce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp312-cp312-win_amd64.whl
| Download URL | meowpow-0.5.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 26.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
83788afa570ee75f98b02060ee68949445e25c38b5a40a277eba512db2175be6
|
|
BLAKE2b-256 checksum How to use checksums |
80b30594f215c8372b91fa58961d634ec943d3fdb975e3ecb476bc25e1e9add7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | meowpow-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
2a8fadcfe9e0ac054f1793344d4e0bd3ed6626ccbe8c2a96a490deada2b5507e
|
|
BLAKE2b-256 checksum How to use checksums |
48aee35bc403c5a6ffcffabce440fdf0a1fd044edbb078785b6f4c90b5931d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | meowpow-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 39.1 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a7bce12bbcc0a82fec95b24637611ca0cc515acc4ae1610285f2e0af2626bd2b
|
|
BLAKE2b-256 checksum How to use checksums |
909cd364d301c2389c0e9edf41728ae387acec411f882c2765ef3c89d393d6f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | meowpow-0.5.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 23.7 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2dce51245cab57539fb8ff7c29ee745858cb6d0ee2f9e3256f606a7958c8db3c
|
|
BLAKE2b-256 checksum How to use checksums |
6e62267e7ed3b9cb5e863946194b0f38e3d2617d0fd43719ff19e6fcaa1c0f08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp311-cp311-win_amd64.whl
| Download URL | meowpow-0.5.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 26.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
08166ef510b042b77119d1dc9c867846177029672350758d978d68313fe87265
|
|
BLAKE2b-256 checksum How to use checksums |
1299054cf2c8f1082dc2ad8259d611df8d72ab6e0a859d98e5c5d44d4e6d28b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | meowpow-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f4a9989bb35f7e8183534f68748e46aaeb69db4939819cb0cec29b405367b127
|
|
BLAKE2b-256 checksum How to use checksums |
2cb1b53c4be2187ad5be92a03c8f4a138fa807f1ee6e503d382138a1700598c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | meowpow-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 38.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
737308c7e049c2d318ff43904078a935103902e1d69ea3b4e90a27cc770b69a2
|
|
BLAKE2b-256 checksum How to use checksums |
c075c57a328d2fa8ba72435255e9b2819d8a7d17797f48e65319f43b89cf66e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | meowpow-0.5.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 23.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
39be573a9048f5df49a3475b50caf94b17995c242bc6b117b99f3eae7a371edc
|
|
BLAKE2b-256 checksum How to use checksums |
7214086ff5fca5313d2edfd5f5ff5055dc773c75cf0371e58994820397ba5ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp310-cp310-win_amd64.whl
| Download URL | meowpow-0.5.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 26.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
12e32e4cac249091db5adfcd23d49e7b078937dead3cc96085c0c12d12a8a6d4
|
|
BLAKE2b-256 checksum How to use checksums |
0bc77a6f1e093e158ffe279146a7e0d91eea341e3d7c96a2b80259874c991d72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | meowpow-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
81b904c5f9b214b9fd934b1728631f91858f72daef7dddac027412ba5129fd4b
|
|
BLAKE2b-256 checksum How to use checksums |
c8ce338aac1a5930377e7d57e60093dc2b6513c73ae46a00693a1413e3a54ce3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | meowpow-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 38.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4830530f5a320ed12ebdb41edfb8672212d2ae41812453c84dc9e37a5885d4a1
|
|
BLAKE2b-256 checksum How to use checksums |
96e370c9b3278aa8a42b1d4d2ec9e8b5695e57ecdfda4a3a0dc65608621d3da9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / meowpow-0.5.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | meowpow-0.5.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 23.7 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
820a77a139adc08b0b0ac58d6a594bd4630ffd870fb19fbab9cbf5dfb8531506
|
|
BLAKE2b-256 checksum How to use checksums |
3b2525be7ce7cb931ddfa04ae1d67aece854f3b75e7d42b9c3a91b41cd173f17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for meowpow 0.5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.