Build privacy-preserving, user-centric applications, on a robust, rapid-scaling platform designed for intereoperability, and total digital autonomy.
Sonr aims to be the most immersive and powerful DWeb experience for both Users and Developers alike. We believe the best way to onboard the next billion users is to create a cohesive end-to-end platform thatβs composable and interoperable with all existing protocols.
For a more in-depth technical look into the Sonr ecosystem please refer to the Architecture Decision Records.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them.
- Go
- Ignite CLI
- Protocol Buffers
- GRPCLI - (optional)
A step by step series of examples that tell you how to get a development env running.
Installing Protocol Buffers
brew install protobuf
Installing Ignite
curl https://get.ignite.com/cli! | bash
Installing Gomobile - for building the Motor library
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
Explain how to run the automated tests for this system.
Create file named .env in project root and set the following variables:
BLOCKCHAIN_REST=
BLOCKCHAIN_FAUCET=
BLOCKCHAIN_RPC=
IPFS_ADDRESS=
IPFS_API_ADDRESS=
VAULT_API_ADDRESS=
VAULT_ENDPOINT=
Refer to .env.example for typical values to use. If not set, default values will be used in place.
Run a test for a specific method
cd pkg/motor
go test -run CreateAccount
Run a test suite
cd pkg/motor
go test -run MotorTestSuite
Run ALL motor tests
cd pkg/motor
go test
Get the chain running
ignite chain serve
Test it with grpc_cli
grpc_cli ls 137.184.190.146:9090 sonrio.sonr.bucket.Query
Outputs:
Params
WhereIs
WhereIsByCreator
WhereIsAll
Running simulation tests
ignite chain simulate
This repo serves as a pseudo-monorepo for the Sonr platform. You can find details on the organization of this project in structure.
List of the main frameworks and tools used to build this project.
- Libp2p - Networking layer
- Cosmos - Blockchain Framework
- IPFS - Storage Module
- HNS - Decentralized DNS
See also the list of contributors who participated in this project.
Partners, collaborators, compliance, or just pure appreciation!