Skip to content

Satellite-im/UplinkWeb

Repository files navigation


Uplink Web

Privacy First, Modular, P2P messaging client built atop Warp.


Uplink is written in TS with Svelte. It is developed as a new foundation for implementing Warp features in a universal application.

The goal should be to build a hyper-customizable application that can run anywhere and support extensions.


Quickstart for Developing

To get running fast, ensure this project is cloned, with the latest dependencies and submodules installed.

Standard Steps:

git clone https://github.com/Satellite-im/UplinkWeb.git
npm install

Now, run a server locally and open it in your favorite browser:

Usually, the URL served will be this

npm run dev

Get Testnet Bitcoin

  1. Install Xverse Chrome extension (or Unisat)

  2. In Xverse, go to Settings -> General -> Network and select 'Testnet'

  3. Get some free Testnet BTC from a faucet. For example https://bitcoinfaucet.uo1.net/send.php

Get (Sepolia) Testnet Ethereum and LINK (ERC20 Token)

  1. Install the MetaMask Chrome extension

  2. In Metamask, Open the dropdown in the top left corner, and select Sepolia (This is the Ethereum test net currently)

  3. Go to https://faucets.chain.link and select Sepolia ETH and LINK. Press continue and paste your address.

Request a Payment

  1. While chatting with another user in UplinkWeb, click the Create Payment Request button on the bottom chat bar (coin exchange icon, next to chat input).
Captura de ecrã 2024-08-28, às 11 00 58
  1. Select the asset type. If selecting ETH.ERC20, you will need to put in the asset ID as well. The asset ID of LINK on Sepolia test net is 0x779877A7B0D9E8603169DdbD7836e478b4624789 (You can see this ID in MetaMask if you own some LINK: click on it, then near the top click the '3 dots' icon, and select 'Token details'. The ID is listed under Token contract address).

  2. In UplinkWeb, once you select the asset (and ID if applicable), enter an amount. Then click the Request button. A clickable message will appear in the chat. Anyone clicking this message will get a prompt via the Chrome extension to make the transfer. (Expect at least 10 seconds for a transfer to go through on the Ethereum network).

Mobile Builds

npm i

npm run build

npx cap sync

  • then for Android

npx cap open android or npx cap run android

  • for iOS

npx cap open ios

Live Reload for Mobile Development

  1. Update the port to 3000 in the vite.config.js file, as Capacitor commands require this port and run server with npm run dev

  2. Build the mobile app for Android or iOS with live reload enabled by running:

npx cap run android -l --external

or

npx cap run ios -l --external
  1. Select your device in the terminal and wait for the app to build.

  2. To show logs from Android app, run adb logcat | grep Capacitor

Contributing

All contributions are welcome! Please keep in mind we're still a relatively small team, and any work done to ensure contributions don't cause bugs or issues in the application is much appreciated.

Contributors

GitHub Contributors Image