- If a staging_/prod_/misc_ tag is present, or if merging to master,
push the Satellite API image upstream.
- Tag images with the commit SHA and the commit ref slug (.e.g, branch
name) for caching. Tag with latest if merging to master.
- Deploy the image specified by commit SHA.
The new server implementation in Python implements request validation
using the Marshamallow package. With that, some requests are validated
directly by the marshmallow validator and do not return custom error
codes. Drop those error codes and other unused ones. Review the README
docs accordingly.
- Preserve the SQLite database and use SQLAlchemy to wrap db
interactions.
- Use Alembic for database migrations.
- Organize all the python modules on the new server/ directory.
- Use pytest for unit tests and organize test modules at server/tests/.
Many Lightning wallets do not support payments below 1 sat (in
millisatoshis). For wider compliance, set a lower limit of 1 sat on orders,
while preserving the minimum bid per byte requirement for orders whose absolute
bid exceeds 1 sat.
Since there can be multiple Tx confirmations for the same region, we should not
check if the number of Tx confirmations matches with the number of
regions. Instead, we should check if all regions have at least one Tx
confirmation.
In Blocksat 2.0, user data sent over the API is encapsulated over UDP -> IPv4 ->
MPE, while respecting a layer 2 MTU of 1500 bytes. This changes the number of
bytes occupied over the satellite link for each transmission.
- Add new region to represent the Telstar 18V Ku band coverage.
- Assume that there are receivers sending Rx confirmations from regions 0, 1, 4,
and 5 now. Thus, synthesize the presumed Rx state only for regions 2 and 3.
- Default transmit rate should be 1000 bytes per second.
- Max message size should be 1 MB (i.e., 1048576 bytes)
- Max line blocking duration of 1050 seconds leads to a max message size of
1050000 bytes, namely slightly higher than 1MB.