A minimal demo app for the Frontier App Store showing how to interact with the Frontier Wallet.
If you are using this, you are in the ultra-early developer group. There will be dragons, things will break.
- Request a test user via the tech team (no automation for this yet)
- This app is preconfigured to be tested on
sandbox.os.frontiertower.io - If you want to use webhooks to react to things happening in the network society checkkout
./docs/WEBHOOKS.md
Find the agent instructions and deployment guide to feed to your agent here:
./docs/AGENT_INSTRUCTIONS.md
./docs/DEPLOYMENT.md
npm install
npm run devIf you are developing we recommend using Chrome and move to test the local apps before release.
The Frontier Wallet is a Progressive Web App (PWA) that can be installed on your device:
iOS:
- Open Safari and navigate to sandbox.os.frontiertower.io
- Tap the Share button (square with arrow pointing up)
- Scroll down and tap "Add to Home Screen"
- Tap "Add" to confirm
Android:
- Open Chrome and navigate to sandbox.os.frontiertower.io
- Tap the three-dot menu in the top right
- Tap "Add to Home Screen" or "Install App"
- Tap "Add" or "Install" to confirm
- Click on Apps → App Store
- Install the Kickstarter App
- Click the app to load your dev environment with all permissions
- The kickstarter app demonstrates basic functionality for interacting with the Frontier Wallet
The SDK is available as an npm package that apps use to communicate with the host PWA.
To use in your own app:
- Install the SDK:
npm install @frontiertower/frontier-sdk - Import and initialize:
import { FrontierSDK } from '@frontiertower/frontier-sdk'; const sdk = new FrontierSDK();
- Use SDK access classes:
sdk.getWallet().getBalance()- Get wallet balancesdk.getWallet().getAddress()- Get wallet addresssdk.getStorage().get(key)- Get stored datasdk.getStorage().set(key, value)- Store datasdk.getUser().getProfile()- Get user profilesdk.getChain().getCurrentNetwork()- Get current network
See ./docs/AGENT_INSTRUCTIONS.md for the complete SDK surface area and permissions.
When you're ready to deploy, contact the dev team (we will automate this process later).
Provide the following metadata:
{
developer: {
name: 'Frontier Tower',
url: 'https://frontiertower.io',
description: 'Building the future of decentralized applications',
},
permissionDisclaimer: 'Here we tell what permissions the app is requesting and why'
permissions: ["wallet:getAddress", "storage:*"]
}- Specify the list of permissions your app needs (see SDK documentation)
- Use as few permissions as possible
- Explain why you need each permission in the
permissionDisclaimer
- You host your app yourself
- We will publish it under
your-app.appstore.frontiertower.io - Your app will be published in the next alpha version and make its way to public release
Apps use standard HTML meta tags for metadata (fetched by the host PWA):
<head>
<title>Your App Name</title>
<meta name="description" content="What your app does" />
<link rel="icon" href="/favicon.ico" />
</head>The host PWA parses your HTML to display the app in the store.