An open API service indexing awesome lists of open source software.

https://github.com/skalenetwork/portal

Web-based interface for transferring assets and data between SKALE Chains and Ethereum Mainnet, managing SKL staking, and accessing essential developer resources such as chain IDs, RPC endpoints, and explorer links.
https://github.com/skalenetwork/portal

ethersjs react skale skale-network typescript

Last synced: 5 months ago
JSON representation

Web-based interface for transferring assets and data between SKALE Chains and Ethereum Mainnet, managing SKL staking, and accessing essential developer resources such as chain IDs, RPC endpoints, and explorer links.

Awesome Lists containing this project

README

          

# SKALE Portal

[![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB)

The SKALE Portal is a web-based interface that allows users to interact with the SKALE IMA contracts. SKALE Portal provides a user-friendly way for users to transfer assets and data between different SKALE chains and Ethereum Mainnet, enabling greater flexibility and scalability for decentralized applications.

## How It Works

The SKALE Interchain Bridge UI is built on top of the [SKALE IMA contracts](https://github.com/skalenetwork/IMA) and uses [Metaport](https://github.com/skalenetwork/metaport). The IMA contracts enable the SKALE Chains to communicate between each onther and Ethereum Mainnet.

The Interchain Bridge UI consists of a user interface that allows users to initiate and track transfers of assets and data between different blockchain networks. Users can connect their wallets to the Interchain Bridge UI and select the source and destination blockchains for their transfers.

## Bridge link integration

It's possible to embed Bridge link with fallback into your dApp.

#### Directing users to the particular pair of chains

```
http://[BASE_PORTAL_URL]/bridge/?from=[FROM_CHAIN_NAME]&to=[TO_CHAIN_NAME]&token=[TOKEN_SYMBOL]&type=[TOKEN_TYPE]&from-app=[FROM_APP_NAME]&to-app=[TO_APP_NAME]
```

Example:

```
https://[BASE_PORTAL_URL]/bridge/?from=elated-tan-skat&to=green-giddy-denebola&token=usdc&type=erc20&from-app=sushiswap&to-app=bit-hotel
```

#### Customizing transfer parameters

You can customize the link with the following parameters:

Required params:

* `from` - from chain name
* `to` - to chain name

Optional params:

* `token` - symbol of the token to transfer
* `type` - token type (only `erc20` and `eth` are supported for now)
* `from-app` - when transfering from a Hub chain, it's possible to specify the name of the app to transfer from
* `to-app` - when transfering to a Hub chain, it's possible to specify the name of the app to transfer to

Will be available in the future:

* `fallback-url` - URL with fallback link to redirect user after the transfer is completed (should be encoded)
* `fallback-text` - Text to display on the fallback button (should be encoded)

In JS you can use the following function to encode the URL:

```js
function encodeUrl(url) {
return encodeURIComponent('https://www.example.com/some/path')
}
```

## Dev

```bash
git clone --recurse-submodules https://github.com/skalenetwork/portal.git
cd portal
bun install
VITE_WC_PROJECT_ID=YOUR_ID bun run dev
```

This compiles local workspaces (`core`, `metaport`) then starts Vite.

## Build

Mainnet bundle (default):

```bash
bun run build
```

Testnet bundle:

```bash
bun run build:testnet
```

Individual packages:

```bash
bun run build:packages
```

## Security and Liability

The SKALE Portal and code is WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

## License

![GitHub](https://img.shields.io/github/license/skalenetwork/portal.svg)

All contributions are made under the [GNU Lesser General Public License v3](https://www.gnu.org/licenses/lgpl-3.0.en.html). See [LICENSE](LICENSE).