/frame

System-wide Web3 for macOS, Windows and Linux

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0


Frame

F R A M E

System-wide Web3 for macOS, Windows and Linux 🎉



Frame is a native web3 interface that lets you sign data, securely manage accounts and transparently interact with dapps via web3 protocols like Ethereum and IPFS!

Features

  • First-class Hardware Signer Support
    • Use your GridPlus, Ledger and Trezor accounts with any dapp!
  • Extensive Software Signer Support
    • Use a mnemonic phrase, keystore.json or standalone private keys to create and backup accounts!
  • Permissions
    • You'll always have full control of which dapps have permission to access Frame and can monitor with full transparency what requests are being made to the network.
  • Set your own connections to Ethereum and IPFS
    • Never be locked into using a centralized gateway
  • Menu Bar Support
    • Frame stays out of the way and sits quietly in your menu bar until it's needed
  • Cross Platform
    • macOS, Windows and Linux!

Talks

Downloads

Run Source

# Clone
› git clone https://github.com/floating/frame

# Install
› npm install

# Run
› npm run prod

On Windows: Run npm install --global --production windows-build-tools as administrator before running the demo. You can find more info about this here: https://github.com/felixrieseberg/windows-build-tools.

On Ubuntu: Run sudo apt-get install build-essential libudev-dev before running the demo.

Build Apps

› npm run bundle # Create app bundle
› npm run build # Build apps for current platform

Connect to Frame natively

Frame exposes system-wide JSON-RPC endpoints ws://127.0.0.1:1248 and http://127.0.0.1:1248 that you can connect to from any app. We recommend using eth-provider to create a connection const provider = ethProvider('frame') as eth-provider will handle any connection edge cases across browsers and environments

Frame's injected provider

Frame also has a browser extension for injecting a Frame-connected EIP-1193 provider into web apps as window.etheruem. This can be used to inject a connection when an app does not provide the option to connect to Frame natively.

Related


WebsiteBlogTwitterChat