0.1.2 • Published 2 years ago

@cryptopuppie/useeoshyperion v0.1.2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

useEOSHypersion

React hooks for EOS Hyperion State API data fetching. This can be used with any supported EOSIO-based blockchains.

All of the hooks wraps around useSWR from the swr library.

Install

npm install @cryptopuppie/useeoshyperion --save

Usage

Using the hooks is simple and made to be similar to useSWR for easier use.

import { useGetActions } from '@cryptopuppie/useeoshyperion'

export default function App() {
  const { data } = useGetActions(
    { account: 'fckedupmyacc', limit: 5 },
    'https://testnet.waxsweden.org'
  )

  return (
    <div>
      <h3>Actions</h3>
      <ul>
        {data?.actions.map((i) => (
          <li key={i.trx_id}>
            {i.trx_id} - {new Date(i.timestamp).toLocaleString()}
          </li>
        ))}
      </ul>
    </div>
  )
}
  • With a Provider

    If you do not want to set the api everytime in each hook, you can use a provider.

    // Component.tsx
    import { useGetActions } from '@cryptopuppie/useeoshyperion'
    
    export default function Component() {
      const { data } = useGetActions({ account: 'fckedupmyacc', limit: 5 })
    
      return (
        <div>
          <h3>Actions</h3>
          <ul>
            {data?.actions.map((i) => (
              <li key={i.trx_id}>
                {i.trx_id} - {new Date(i.timestamp).toLocaleString()}
              </li>
            ))}
          </ul>
        </div>
      )
    }
    
    // App.tsx
    import { UseHyperionProvider } from '@cryptopuppie/useeoshyperion'
    import Component from './Component.tsx'
    
    export default function App() {
      return (
        <UseHyperionProvider endpoint="https://testnet.waxsweden.org">
          <Component />
        </UseHyperionProvider>
      )
    }
  • Error handling

    All of the hooks export error objects, error and hasFailed. If hasFailed is true, the data object is null and error otherwise.

    import { useGetActions } from '@cryptopuppie/useeoshyperion'
    
    export default function App() {
      const { data, hasFailed, error } = useGetActions(
        { account: 'fckedupmyacc', limit: 5 },
        'https://testnet.waxsweden.org'
      )
    
      if (hasFailed) {
        return <p>{error.message}</p>
      }
    
      return (
        <div>
          <h3>Actions</h3>
          <ul>
            {data?.actions.map((i) => (
              <li key={i.trx_id}>
                {i.trx_id} - {new Date(i.timestamp).toLocaleString()}
              </li>
            ))}
          </ul>
        </div>
      )
    }

Hooks

All of the main primary endpoints are implemented.

  • Health
    • useGetHealth
  • History

    • useGetABISnapshot
    • useGetActions
    • useGetCreatedAccounts
    • useGetCreator
    • useGetDeltas
    • useGetSchedule
    • useGetTransaction
  • State

    • useGetAccount
    • useGetKeyAccounts
    • useGetLinks
    • useGetProposals
    • useGetTokens
    • useGetVoters
  • Stats
    • useGetMissedBlocks

2022 | World of Cryptopups