https://github.com/eddytheco/account
https://github.com/eddytheco/account
crypto iota qml qt6 shimmer
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eddytheco/account
- Owner: EddyTheCo
- License: gpl-3.0
- Created: 2022-12-16T20:45:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T08:56:35.000Z (9 months ago)
- Last Synced: 2025-02-07T08:34:36.805Z (4 months ago)
- Topics: crypto, iota, qml, qt6, shimmer
- Language: QML
- Homepage: https://eddytheco.github.io/account/
- Size: 66.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Esterv.Iota.Account
[TOC]
This repo implements a singleton called `Account` that can produce deterministic addresses from a seed.
The seed can be given to the Singleton by binary seed or by Mnemonic sentences following
[Bip-39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).
The singleton also produce a random mnemonic sentence following `Bip-39` with 24 English words.
The repo can produce a QML Module with types for addresses, and key pairs generation for Iota.## Installing the library
### From source code
```
git clone https://github.com/EddyTheCo/account.gitmkdir build
cd build
qt-cmake -G Ninja -DCMAKE_INSTALL_PREFIX=installDir -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DQTDEPLOY=OFF -DUSE_QML=OFF -DBUILD_DOCS=OFF ../accountcmake --build .
cmake --install .
```
where `installDir` is the installation path, `QTDEPLOY` install the examples and Qt dependencies using the
[cmake-deployment-api](https://www.qt.io/blog/cmake-deployment-api). Setting the `USE_QML` variable produce or not the QML module.
One can choose to build or not the examples and the documentation with the `BUILD_EXAMPLES` and `BUILD_DOCS` variables.### From GitHub releases
Download the releases from this repo.## Adding the libraries to your CMake project
```CMake
include(FetchContent)
FetchContent_Declare(
IotaAccount
GIT_REPOSITORY https://github.com/EddyTheCo/account.git
GIT_TAG vMAJOR.MINOR.PATCH
FIND_PACKAGE_ARGS MAJOR.MINOR CONFIG
)
FetchContent_MakeAvailable(IotaAccount)target_link_libraries( IotaAccount::account)
```
If want to use the QML module also add
```
$<$,STATIC_LIBRARY>:IotaAccount::accountplugin>
```## API reference
You can read the [API reference](https://eddytheco.github.io/account/), or generate it yourself like
```
cmake -DBUILD_DOCS=ON ../
cmake --build . --target doxygen_docs
```## Using the QML modules
One needs to make available to the QML engine the different modules by setting the [QML import path](https://doc.qt.io/qt-6/qtqml-syntax-imports.html#qml-import-path).
1. In your main function `engine.addImportPath("qrc:/esterVtech.com/imports");` to use the resource file.
2. Set the environment variable like `export QML_IMPORT_PATH=installDir/CMAKE_INSTALL_LIBDIR` where `CMAKE_INSTALL_LIBDIR` is where `Esterv` folder was created.
## Examples
The [examples](examples) folder shows the use of the different custom types provided by the QML module.
One can also play with the types [here](https://eddytheco.github.io/qmlonline/?example_url=iotaaccount)
## 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.