mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-25 15:05:49 +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>
127 lines
3.3 KiB
YAML
127 lines
3.3 KiB
YAML
# Copyright © 2020 Interplanetary Database Association e.V.,
|
|
# Planetmint and IPDB software contributors.
|
|
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
|
|
# Code is Apache-2.0 and docs are CC-BY-4.0
|
|
|
|
version: '2.2'
|
|
|
|
services:
|
|
# Build: docker-compose build -d planetmint
|
|
# Run: docker-compose run -d bdb
|
|
mongodb:
|
|
image: mongo:3.6
|
|
ports:
|
|
- "27017:27017"
|
|
command: mongod
|
|
restart: always
|
|
tarantool:
|
|
image: tarantool/tarantool:2.8.3
|
|
ports:
|
|
- "5200:5200"
|
|
- "3301:3301"
|
|
- "3303:3303"
|
|
- "8081:8081"
|
|
volumes:
|
|
- ./planetmint/backend/tarantool/init.lua:/opt/tarantool/init.lua
|
|
command: tarantool /opt/tarantool/init.lua
|
|
restart: always
|
|
planetmint:
|
|
depends_on:
|
|
- mongodb
|
|
- tendermint
|
|
- tarantool
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile-dev
|
|
volumes:
|
|
- ./planetmint:/usr/src/app/planetmint
|
|
- ./tests:/usr/src/app/tests
|
|
- ./docs:/usr/src/app/docs
|
|
- ./htmlcov:/usr/src/app/htmlcov
|
|
- ./setup.py:/usr/src/app/setup.py
|
|
- ./setup.cfg:/usr/src/app/setup.cfg
|
|
- ./pytest.ini:/usr/src/app/pytest.ini
|
|
environment:
|
|
PLANETMINT_DATABASE_BACKEND: tarantool_db
|
|
PLANETMINT_DATABASE_HOST: tarantool
|
|
PLANETMINT_DATABASE_PORT: 3303
|
|
PLANETMINT_SERVER_BIND: 0.0.0.0:9984
|
|
PLANETMINT_WSSERVER_HOST: 0.0.0.0
|
|
PLANETMINT_WSSERVER_ADVERTISED_HOST: planetmint
|
|
PLANETMINT_TENDERMINT_HOST: tendermint
|
|
PLANETMINT_TENDERMINT_PORT: 26657
|
|
ports:
|
|
- "9984:9984"
|
|
- "9985:9985"
|
|
- "26658"
|
|
- "2222:2222"
|
|
healthcheck:
|
|
test: ["CMD", "bash", "-c", "curl http://planetmint:9984 && curl http://tendermint:26657/abci_query"]
|
|
interval: 3s
|
|
timeout: 5s
|
|
retries: 5
|
|
command: 'scripts/entrypoint.sh'
|
|
restart: always
|
|
|
|
tendermint:
|
|
image: tendermint/tendermint:v0.34.15
|
|
# volumes:
|
|
# - ./tmdata:/tendermint
|
|
entrypoint: ''
|
|
ports:
|
|
- "26656:26656"
|
|
- "26657:26657"
|
|
command: sh -c "tendermint init && tendermint node --consensus.create_empty_blocks=false --rpc.laddr=tcp://0.0.0.0:26657 --proxy_app=tcp://planetmint:26658"
|
|
restart: always
|
|
|
|
bdb:
|
|
image: busybox
|
|
depends_on:
|
|
planetmint:
|
|
condition: service_healthy
|
|
|
|
|
|
# curl client to check the health of development env
|
|
curl-client:
|
|
image: appropriate/curl
|
|
command: /bin/sh -c "curl -s http://planetmint:9984/ > /dev/null && curl -s http://tendermint:26657/ > /dev/null"
|
|
|
|
# Planetmint setup to do acceptance testing with Python
|
|
python-acceptance:
|
|
build:
|
|
context: .
|
|
dockerfile: ./acceptance/python/Dockerfile
|
|
volumes:
|
|
- ./acceptance/python/docs:/docs
|
|
- ./acceptance/python/src:/src
|
|
environment:
|
|
- PLANETMINT_ENDPOINT=planetmint
|
|
|
|
# Build docs only
|
|
# docker-compose build bdocs
|
|
# docker-compose up -d bdocs
|
|
bdocs:
|
|
depends_on:
|
|
- vdocs
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile-dev
|
|
args:
|
|
backend: tarantool
|
|
volumes:
|
|
- .:/usr/src/app/
|
|
command: make -C docs/root html
|
|
vdocs:
|
|
image: nginx
|
|
ports:
|
|
- '33333:80'
|
|
volumes:
|
|
- ./docs/root/build/html:/usr/share/nginx/html
|
|
|
|
# Remove all build, test, coverage and Python artifacts
|
|
clean:
|
|
image: alpine
|
|
command: /bin/sh -c "./planetmint/scripts/clean.sh"
|
|
volumes:
|
|
- $PWD:/planetmint
|