Skip to content

0LNetworkCommunity/postero-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Postero

Postero is the official wallet for Open Libra.

Architecture

The wallet is built around a client server architecture. The client and server communicate with GraphQL. The backend is built with Nest and the frontend with React Native and Expo.

Desktop App

This Postero desktop app utilizes Electron to encapsulate both the backend and frontend, facilitating communication via IPC. There are companion browser extensions for Firefox and Chrome that faciliate integration with web apps. They communicate with the browser-helper. A simple Rust application that forwards the native messaging channel to a WebSocket server. Currently, the WebSocket server operates over TCP, with plans to transition to UDS once supported by Tokio on Windows.

You can visit 0l.fyi/postero to enable the wallet integration.

Run locally

We highly recommend using nvm to ensure the appropriate version of Node.js is used. Yarn as required to install the project dependencies. The Rust toolchain is required to build the browser-helper.

Build the browser-helper

cd browser-helper
cargo build

Start the frontend

cd packages/desktop-frontend
nvm use
yarn install
yarn run web

Start the backend

cd packages/desktop-backend
nvm use
yarn install
yarn run start:dev

Package the app

cd desktop-builder
nvm use
./build.sh

Mobile App

Currently, exploration is underway to determine the optimal approach for integrating the server into the mobile app. Challenges exist in running the backend within a dedicated thread with a communication channel for the UI thread. One possibility is embedding the server within the Expo app to evaluate performance and responsiveness. Further investigation is ongoing to refine the mobile app experience.

Internal Testing

The app is still in an early stage and is currently distributed to limited set of users for internal testing. If you need to get access, share your email address associated with your Google account (for Android) or with your Apple account (for iOS).

You can install the Android app from the Play Store.