Remme

Latest version: v1.1.1

Safety actively analyzes 621420 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.0.0

[2]: https://semver.org
[3]: https://docs.remme.io/remme-core/docs/rpc-api.html
[4]: https://github.com/zalando/connexion
[5]: https://sawtooth.hyperledger.org/docs/core/releases/1.0.1/architecture/poet.html
[6]: https://docs.remme.io/remme-core/docs/remme-ws.html

0.7.0alpha

Added
- Support for ECDSA (secp256k1) and Ed25519 public key storing. Architecture of the corresponding
transaction family was redefined to make it easily extendable.
- Finalized WebSockets implementation. You can connect to them using
`ws://YOUR_NODE_ADDRESS:YOUR_NODE_PORT/`. A few details:
- The message format is based on JSON RPC.
- You can track new blocks, batches, transactions statuses, transfers and atomic swap events.
- For more information please refer to [documentation][6].
- One user may request another to pay for their certificates via a special workflow.
- JSON RPC API:
- Now it is possible to filter transactions by their transaction families names.
- API implementation pre-validates transactions before they are processed. This removes a bit of
workload from the transaction processing system.
- Block timestamp is returned along with its ID in WebSockets events.
- The possibility to collect metrics to InfluxDB from the core.
- Guides for running a node on different cloud providers.

Changed
- Upgraded Sawtooth to the stable branch `1.1.x`.
- Significantly (up to 2.5x) improved the performance of the transaction processing by batching read
and write operations.
- Atomic Swap no longer uses user-provided timestamps. Instead it relies on the data provided by the
`BlockInfo` transaction family.
- Atomic Swap is not using an explicit intermediate storage for tokens locked for a swap. This data
is now contained only in atomic swap state entries instead. Such approach gives us less state read
and writes and thus improves the overall atomic swap transactions processing speed.
- Improved validation of JSON RPC requests bodies.
- Development setup:
- Testing framework was changed to `pytest` and custom validator mock was used to write tests for
transaction families. This makes our tests significantly faster and easier to use. For more
information please refer to [README.md].
- Faster builds for the development setup.

Removed
- log.io

Fixed
- Numerous bugs in WebSockets and RPC API implementation.

0.6.0alpha

Added
- JSON RPC. This was introduced as replacement of REST API which is more consistent in terms of data
format and is transport-agnostic (can be used with HTTP, WebSockets or anything else, for example
Unix sockets). Documentation is available [here][3].
- The possibility to withdraw tokens from `0x0` address for a designated list of its owners.
This address is used in atomic swap implementation and will be used in basic economical model
implementation.
- Tokens burnt during public keys registration are now transferred to a specified address instead of
burning.

Changed
- Logging:
- Logging settings are loaded to containers from configuration files. Log configuration files are
in `config/log` directory.
- Disabled native Docker logging for application containers.
- Logs are stored in `remme_logs` volume.
- Better default logging setup:
- Log files are rotated by their size (50 MB each).
- 20 latest log files are stored.
- All loggers use the `DEBUG` logging level by default.
- Added fallback to the default configuration in case of errors.
- Restructured `Makefile`, build and deployment tooling.
- Complex scripts are moved away from `Makefile` to `build` directory and `scripts/run.sh`.
- Scripts that are responsible for starting up the software in Docker containers are now in
`scripts/node`.
- `build/ci` contains scripts related to continuous integration and delivery.
- You can see the documentation on those scripts in [BUILD.md](BUILD.md).
- Move to Poetry configuration system for Python projects. This brings much more consistent
configuration and tooling for the Python part of the project.
- Upgrade Sawtooth framework to nightly branch. Will move to stable when the required branch
stabilizes. This brings the following updates:
- Improvements in performance of the API.
- Consensus engine is separated from the `validator` component and runs as a separate service.
This allows to easily integrate our own consensus engine that is being worked on.
- Improvements to the event system that allow us to provide transaction state updates via
WebSockets more efficiently.
- The system currently use `devmode` consensus.
- Docker setup now uses only two custom containers: one contains installation of Sawtooth and
another contains REMME installation.
- Removed `web3` from dependencies. The atomic swap component implements Ethereum-compatible hashing
function now.

Removed
- REST API. Removed in favor of JSON RPC.
- Documentation on the core is entirely technical now. Documentation sections like "Use cases" are
now in separate sections of documentation. Check them out at https://docs.remme.io/

Fixed
- Synchronization issues in atomic swaps transaction family.
- Token transfer transaction with zero amount of transferred tokens are rejected now.
- Application crash on some cases of incorrect configuration.

Security
- Update `requests` Python library to mitigate CVE-2018-18074.

0.5.2alpha

Fixed
- Several starting up issues

0.5.1alpha

Changes
- Batches submitted from REST API are now signed by the key of the validator (the same as the key for
block signing). This is required for compatibility with the upcoming update of Sawtooth which will
remove performance limitations for batches submitted with the validator key.
- Versions of critical non-Python dependencies are now fixed.

Fixed
- A couple of minor bugs in BlockInfo component.

0.5.0alpha

Added
- Access to additional blocks metadata (e.g. time) via REST API (with the help of Sawtooth
BlockInfo transaction processor).

Changed
- All services (REMME REST API, Sawtooth REST API and WebSockets) are now available on a single
endpoint on the following paths:
- REMME REST API at `/api/v1`;
- Sawtooth REST API at `/validator`;
- WebSockets at `/ws`.
- Docker configuration was revised to have much more compact and fast images.
- No need to install `protoc` compiler on the host machine.
- Docker Compose configuration changes:
- Containers are now connected in a bridge network. This increases the overall security and
simplifies the firewall setup.
- Containers and volumes have pre-defined names to simplify their management.
- Configuration
- The majority of settings are now available as TOML files in the `/configuration` directory.
- `network-config.yml` is reserved for stuff required before Docker Compose starts up (IP and
ports allocation).
- Genesis block is now confgured in `remme-genesis-config.toml`.
- REST API: `remme-rest-api.toml`.
- Interaction between REMME and Sawtooth Core modules: `remme-client-config.toml`.
- `sawtooth-validator` configuration (as described in Sawtooth documentation):
`sawtooth-validator-config.toml`
- List of addresses for initial connection in `seeds-list.txt`.
- Sawtooth was upgraded to 1.0.5

Fixed
- Swagger UI always opens correctly.

Security
- Upgrade py-cryptography to mitigate CVE-2018-10903.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.