https://github.com/bonfida/messaging-mobile-app
https://github.com/bonfida/messaging-mobile-app
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bonfida/messaging-mobile-app
- Owner: Bonfida
- Created: 2021-10-22T10:33:39.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-19T15:08:32.000Z (about 4 years ago)
- Last Synced: 2025-04-05T14:34:59.366Z (about 1 year ago)
- Language: TypeScript
- Size: 5.32 MB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jab mobile app
⚠️ Warning
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Any content produced by the Bonfida Foundation, or developer resources that the Bonfida Foundation provides, are for educational and inspiration purposes only. Bonfida does not encourage, induce or sanction the deployment of any such applications in violation of applicable laws or regulations.
## Download
- iOS: [https://apps.apple.com/hk/app/jab-bonfida/id1593196027?l=en](https://apps.apple.com/hk/app/jab-bonfida/id1593196027?l=en)
- Android: [https://play.google.com/store/apps/details?id=com.bonfida.jab](https://play.google.com/store/apps/details?id=com.bonfida.jab)
## Local environment
The app is built with [Expo](https://docs.expo.dev/)
To install the Expo:
```
yarn global add expo-cli
```
To launch the local environment
```
yarn && yarn start
```
## Smart contract
The smart contract can be found here: [Jab smart contract](https://github.com/Bonfida/jab)
## Secret key 🚨
The secret key is stored using `expo-secure-store` [https://docs.expo.dev/versions/latest/sdk/securestore/](https://docs.expo.dev/versions/latest/sdk/securestore/)
## Transactions
On the mobile versions, transactions don't need to be approved, **they are automatically approved**.
## Encryption
- DMs: For DMs (i.e 1 on 1 conversations) all messages are encrypted end to end using [Diffie-Hellman keys](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman). The encryption happens on the mobile before sending the message on-chain. For images, videos and audios, the file is encrypted using Diffie-Hellman, uploaded on IPFS, then the IPFS hash is encrypted and sent on-chain.
- Groups: Groups are **unencrypted** at the moment. This means that the entire group chat history is visible on-chain. If you want to contribute to the repo to add group encryption using [Double Ratchet](https://signal.org/docs/specifications/doubleratchet/) please reach out to us, grants are available.
## Cost
Gas cost will depend on the length of your message
| Message length (characters) | Transaction fee (SOL) |
| --------------------------- | --------------------- |
| 100 | ~0.002 |
| 200 | ~0.0026 |
| 500 | ~0.00469 |
| 1,000 | ~0.0082 |
| 2,000 | ~0.015 |
For files, the gas cost does not depend on the size of the file because only the IPFS hash is sent on-chain.