⚠️ 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.
The app is built with Expo
To install the Expo:
yarn global add expo-cli
To launch the local environment
yarn && yarn start
The smart contract can be found here: Jab smart contract
The secret key is stored using expo-secure-store
https://docs.expo.dev/versions/latest/sdk/securestore/
On the mobile versions, transactions don't need to be approved, they are automatically approved.
DMs: For DMs (i.e 1 on 1 conversations) all messages are encrypted end to end using Diffie-Hellman keys. 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 please reach out to us, grants are available.
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.