https://github.com/eddytheco/qpow-iota
https://github.com/eddytheco/qpow-iota
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eddytheco/qpow-iota
- Owner: EddyTheCo
- License: gpl-3.0
- Created: 2022-11-24T10:20:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T11:14:31.000Z (about 1 year ago)
- Last Synced: 2024-03-28T12:29:37.716Z (about 1 year ago)
- Language: C++
- Homepage: https://eddytheco.github.io/Qpow-IOTA/
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proof-of-work as a means to rate-limit the network
[TOC]This repo implements a library to perform Proof of Work (PoW) following this [TIP](https://github.com/iotaledger/tips/blob/main/tips/TIP-0012/tip-0012.md).
## Installing the library
### From source code
```
git clone https://github.com/EddyTheCo/Qpow-IOTA.gitmkdir build
cd build
qt-cmake -G Ninja -DCMAKE_INSTALL_PREFIX=installDir -DUSE_THREADS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_DOCS=OFF ../Qpow-IOTAcmake --build .
cmake --install .
```
where `installDir` is the installation path.
One can choose to build or not the tests and the documentation with the `BUILD_TESTING` and `BUILD_DOCS` variables.
The use or not of multithreading is set by the `USE_THREADS` variable.
### From GitHub releases
Download the releases from this repo.## Adding the libraries to your CMake project
```CMake
include(FetchContent)
FetchContent_Declare(
QtIotaPow
GIT_REPOSITORY https://github.com/EddyTheCo/Qpow-IOTA.git
GIT_TAG vMAJOR.MINOR.PATCH
FIND_PACKAGE_ARGS MAJOR.MINOR CONFIG
)
FetchContent_MakeAvailable(QtIotaPow)
target_link_libraries( QtIotaPow::qpow)
```## API reference
You can read the [API reference](https://eddytheco.github.io/Qpow-IOTA/), or generate it yourself like
```
cmake -DBUILD_DOCS=ON ../
cmake --build . --target doxygen_docs
```## Contributing
We appreciate any contribution!
You can open an issue or request a feature.
You can open a PR to the `develop` branch and the CI/CD will take care of the rest.
Make sure to acknowledge your work, and ideas when contributing.