- run tests:
cargo test
- Role-based jsonwebtoken authentication.
- Layered configuration system, based on config-rs
- Logging, based on tracing
- Error handling
- Polymorphic geospatial data and queries on Mongodb Atlas with Replica Set support
- Data validation based on keccak-256 hashing, anchored on blockchain
- Contract messaging via cosmrs
- Full integration test coverage
-
For contract changes, copy msg.rs and geodata_anchor.wasm from contract to common directory, e.g.: 'cp ../geodata-anchor/src/msg.rs common' and 'cp ../geodata-anchor/artifacts/geodata_anchor.wasm assets'
-
With a connected testnet, the deployed contract address would be supplied via config/default.json. Currently the integration test is running juno via docker and supplies the contract address via env variable.
-
To supply private credentials for Mongodb Atlas cluster overriding the default localhost instance, add config/local.json (included in .gitignore). Sample: { "database": { "uri": "mongodb+srv://xxxxxxcluster0.xxxx.mongodb.net", "name": "geomancy" },
"auth": { "secret": "xxxxxx" } }
-
see README-dev.md for running dev curl commands
- Consider replacing bcrypt with argon2
- Consider multi-hash
- Move validation endpoint to externally scheduled daemon process
- Implement Docker runtimes
- Design and implement geospatial data schemas, indexes and queries, input process
- Implement external juno test blockchain for anchoring/validation
- Client app integrating above functionality