https://github.com/allinbits/cosmos-cash-agent
Cosmos cloud agent based on Hyperledger Aries
https://github.com/allinbits/cosmos-cash-agent
Last synced: 5 months ago
JSON representation
Cosmos cloud agent based on Hyperledger Aries
- Host: GitHub
- URL: https://github.com/allinbits/cosmos-cash-agent
- Owner: allinbits
- License: apache-2.0
- Created: 2021-09-21T08:40:54.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-13T17:03:39.000Z (about 4 years ago)
- Last Synced: 2024-06-21T01:44:09.100Z (almost 2 years ago)
- Language: Go
- Size: 762 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Cosmos Cash Agent
This project implements a demo interface for the [Cosmos Cash](https://github.com/allinbits/cosmos-cash) project to showcase the interactions from the user perspective.
## Architecture
> Note: The project has been developed as a proof of concept!
The entrypoint for the desktop client is `cmd/edge-agent/main.go`
The project is composed of the following components:
- User interface: ([`pkg/ui`](https://github.com/allinbits/cosmos-cash-agent/tree/main/pkg/ui))
- Token wallet ([`pkg/wallets/chain`](https://github.com/allinbits/cosmos-cash-agent/tree/main/pkg/wallets/chain))
- SSI Wallet ([`pkg/wallets/ssi`](https://github.com/allinbits/cosmos-cash-agent/tree/main/pkg/wallets/ssi))
The components run in their own isolated event loop, events for each component are dispatched via channels.
The messages are implemented as `AppMsg` struct that is:
```golang
// AppMsg are messages that are exchanged within the app
type AppMsg struct {
Typ int // message type (see list above)
Payload interface{} // content of the message, the recipient must know how to process it
}
```
Messages related code is defined [here](https://github.com/allinbits/cosmos-cash-agent/blob/main/pkg/config/messages.go).
### Component logic
Most of the logic is concentrated in the following source files:
- User interface: [`pkg/ui/handlers.go`](https://github.com/allinbits/cosmos-cash-agent/blob/main/pkg/ui/handlers.go)
- Token wallet: [`pkg/wallets/chain/chain.go`](https://github.com/allinbits/cosmos-cash-agent/blob/main/pkg/wallets/chain/chain.go)
- SSI wallet: [`pkg/wallets/ssi/aries.go`](https://github.com/allinbits/cosmos-cash-agent/blob/main/pkg/wallets/ssi/aries.go)
### Setup
The ui is built using [fyne](https://fyne.io/) framework.
> Note: make sure that you have the [prerequisites](https://developer.fyne.io/started/#prerequisites) installed before running
To run the app targeting the Cosmos Cash testnet, run
```sh
make run-live
```
## Screenshots
