mirror of
https://github.com/planetmint/planetmint.git
synced 2025-10-14 00:59:17 +00:00

* added initial interfaces for backend, refactored Asset and MetaData logic Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * adjusted input dataclass, added queries, removed convert Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * created backend models folder, replaced token_hex with uuid Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Add cleanup and add constants Signed-off-by: cybnon <stefan.weber93@googlemail.com> * added to and from static methods to asset, input model and removed logic from tools Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * simplified store_bulk_transaction and corresponding query, adjusted test cases Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * changed script queries Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Add Output model Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Adapt Output class Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Further fixes Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Further fixes * Get rid of decompose Signed-off-by: cybnon <stefan.weber93@googlemail.com> * refactored init.lua Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * refactored drop.lua Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Add transaction data class Signed-off-by: cybnon <stefan.weber93@googlemail.com> * refactored init.lua Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fix tests Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Fix more tests Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Format file * Fix recursion error * More fixes Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Further fixes Signed-off-by: cybnon <stefan.weber93@googlemail.com> * using init.lua for db setup Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed flush_db for new tarantool implementation Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * changed unique constraints Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * used new indexes on block related db operations Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Adapt models Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Check if blocks is empty * adjusted get_txids_filtered for new indexes Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Adaptions due to schema change Signed-off-by: cybnon <stefan.weber93@googlemail.com> * fixed get block test case Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Fix subcondition serialization Signed-off-by: cybnon <stefan.weber93@googlemail.com> * Remove unnecessary method Signed-off-by: cybnon <stefan.weber93@googlemail.com> * More fixes * renamed group_txs and used data models in fastquery Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * adjusted query test cases, removed unused code Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * replaced asset search with get_asset_by_cid Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * added limit to asset queries Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * replaced metadata search with cid lookup Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed most of the test_lib test cases Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed election test cases Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed some more test cases Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed 'is' vs '==' issue Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * - blackified & fixed recovery / delete transactions issues becaues of data model transitions - reintegrated get_transaction() call in query -> delegating this to get_complete_transactions_by_ids Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * show election status uses the governance table from now on show election status maps the asset["data"] object properly Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed input object differences between old / new version and lookup of transaction in the governance pool Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed TX lookup issues due to different pools Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed wrong index name issue: transaction_by_asset vs transaction_by_asset_id Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed asset class key mixup Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved field removal methods to DbTransaction redefined strcuture of DbTransction.to_dict() to be equal to the one of Transactions.to_dict() Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added proper input conversion of the test cases and a proper input validation and object converion Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * simplified imports fixed transfer input issues of the tests Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed comparision issue : dict vs. object Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed schema validation errors Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * added verification of ConditionDetails to the owner verification to avoid mixup between ConditionDetails and SubCondition fixed Object comparision issues due to object changes Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed object handling issue and complicated stuff Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added missing import Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added proper corner case handling in case a requested block is not found Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed object comparision issue Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed output handling for validate_transfer_inputs Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed wrong search pool usage Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed zenroom testcase Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed last abci issues and blackified the code Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added tarantool exception catching and raising as well as logging Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed obj comparision issue in test_get_spent_issue_1271 Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added raiing CriticialDoubleSpend Exception for governance and transactions fixed search space issue with election / voting commit lookup Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * * made returned outputs unique (get_owned_ids) * added delete_output method to init.lua * fixd output deletion issue by relaying the deletion to lua instead of the python code Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed rollback after crash Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * adjusted assets=None to assets=[{"data":None}] to avoid exeptions in the background service Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed unused code Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unused code, reverted transaction fetching, added return types to queries Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed duplicate code Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed depricated code Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * store transactions of various versions (backwardcompatibility) added _bdb variable to init/drop DBs for the single use cases (started failing as TXs are looked up in DB - compared to before) Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added support for v2.0 transaction to DB writing/reading Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed merge errors (arguments ... ) Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * blackified Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * Simplified unit tests (#294) * adjusted make test * 1st improvments to ease testing * simplified gh actions * adjusted gh action file * removed deps * added sudo to apt calls * removed predefined pytest module definitions * added installing planetmint into the unit test container * give time to the db container * added environment variables to unit-test.yml * removed acceptances tests from test executions Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed unused code, updated version number Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> Signed-off-by: cybnon <stefan.weber93@googlemail.com> Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> Co-authored-by: cybnon <stefan.weber93@googlemail.com> Co-authored-by: Jürgen Eckel <juergen@riddleandcode.com> Co-authored-by: Jürgen Eckel <eckelj@users.noreply.github.com>
Planetmint Server
Planetmint is the blockchain database. This repository is for Planetmint Server.
The Basics
Run and Test Planetmint Server from the master
Branch
Running and testing the latest version of Planetmint Server is easy. Make sure you have a recent version of Docker Compose installed. When you are ready, fire up a terminal and run:
git clone https://github.com/planetmint/planetmint.git
cd planetmint
make run
Planetmint should be reachable now on http://localhost:9984/
.
There are also other commands you can execute:
make start
: Run Planetmint from source and daemonize it (stop it withmake stop
).make stop
: Stop Planetmint.make logs
: Attach to the logs.make lint
: Lint the projectmake test
: Run all unit and acceptance tests.make test-unit-watch
: Run all tests and wait. Every time you change code, tests will be run again.make cov
: Check code coverage and open the result in the browser.make docs
: Generate HTML documentation and open it in the browser.make clean
: Remove all build, test, coverage and Python artifacts.make reset
: Stop and REMOVE all containers. WARNING: you will LOSE all data stored in Planetmint.
To view all commands available, run make
.
Links for Everyone
- Planetmint.io - the main Planetmint website, including newsletter signup
Links for Developers
- All Planetmint Documentation
- CONTRIBUTING.md - how to contribute
- Community guidelines
- Open issues
- Open pull requests
- Gitter chatroom
Legal
- Licenses - open source & open content
Languages
Python
79.2%
Shell
14.2%
Lua
3.9%
Dockerfile
1%
Jinja
0.9%
Other
0.8%