Skip to content

m1tttt4/solana-soce-ui

 
 

Repository files navigation

Simple Options Complex Events

Work in progress for binary options on Solana.

Example instance: https://m4tt4ew.com/#/pyth

image UI extends pyth-examples

Quickstart

git clone https://github.com/m1tttt4/solana-soce-ui

cd solana-soce-ui
git submodule update --init --recursive
yarn
yarn start

image image

Environment Setup

  1. Install Rust from https://rustup.rs/
  2. Install Solana v1.6.7 or later from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-tool
  3. Install Node
  4. Install NPM, Yarn

Build Smart Contract (compiled for BPF)

Run the following from the program/solana-soce subdirectory:

$ cargo build-bpf
$ cargo test-bpf

Directory structure

program

Solana program template in Rust

program/src/lib.rs

  • process_instruction function is used to run all calls issued to the smart contract

src/actions

Setup here actions that will interact with Solana programs using sendTransaction function

src/contexts

React context objects that are used propagate state of accounts across the application

src/hooks

Pyth hook

  • usePyth - hook for fetching products and prices

Generic react hooks to interact with token program:

  • useUserBalance - query for balance of any user token by mint, returns:
    • balance
    • balanceLamports
    • balanceInUSD
  • useUserTotalBalance - aggregates user balance across all token accounts and returns value in USD
    • balanceInUSD
  • useAccountByMint
  • useTokenName
  • useUserAccounts

src/views

  • home - main page for your app
  • faucet - airdrops SOL on Testnet and Devnet

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.8%
  • Less 3.4%
  • HTML 3.2%
  • JavaScript 3.1%
  • Rust 1.1%
  • CSS 0.4%