npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2024 – Pkg Stats / Ryan Hefner

@sentre/connector

v0.1.2

Published

🀝 Senhub Connector to power your DApps with Senhub Platform

Downloads

6,516

Readme

🀝 Senhub Connector

https://img.shields.io/npm/v/@sentre/connector https://img.shields.io/npm/dw/@sentre/connector https://img.shields.io/bundlephobia/min/@sentre/connector https://img.shields.io/github/issues-raw/descartesnetwork/sen-connector https://img.shields.io/github/license/descartesnetwork/sen-connector

https://img.shields.io/twitter/follow/SentreProtocol?style=social

By the integration, your DApps can fully communicate with Senhub platform.

Installation

npm i @sentre/connector

or,

yarn add @sentre/connector

To use

With @solana/wallet-adapter

import {
  PhantomWalletAdapter,
  SlopeWalletAdapter,
} from '@solana/wallet-adapter-wallets'
import { SentreWalletAdapter } from '@sentre/connector'

// Add SentreWalletAdapter with your provided app id to @solana/wallet-adapter
// Example: https://solana-labs.github.io/wallet-adapter/

const appId = 'my-app-id'
const wallets = [
  new SentreWalletAdapter({ appId }),
  new PhantomWalletAdapter(),
  new SlopeWalletAdapter(),
  // Other wallets
]

Manual integration

import { WalletConnector } from '@sentre/connector'

const wallet = new WalletConnector('my_app_id')
const isConnected = await wallet.isConnected()
if (isConnected) {
  // Get the address
  const address = await wallet.getAddress()
  // Sign a transaction
  const signedTransaction = await wallet.signTransaction(transaction)
  // Sign multiple transactions
  const signedTransactions = await wallet.signAllTransactions(transactions)
  // Sign a message
  const { signature, address, message } = await wallet.signMessage(
    'the message needs to be signed',
  )
}

Testing

πŸ‘‰ Test your DApps locally by Senhub Connector Tester.

action

OAuth

This module is heavily inspired by JWT. However, JST (Json Solana Token) adopted Solana wallet adapter standard as the main cryptography mechanism.

Usage

import { OAuth } from '@sentre/connector'

const jst = OAuth.issue({ issuer: 'hub.sentre.io' }) // Default at one month of expiration

// On client side
// To sign the jst to get bearer
const bearer = await OAuth.sign(jst, signer)

// On server side
// To verify the bearer
const ok = OAuth.verify(bearer)
// If you want to catch error messages
try {
  OAuth.verify(bearer, true)
} catch (er: any) {
  console.log(`Verify failed because: ${er.message}`)
}

// To read bearer details
const { publicKey, signature, jst } = OAuth.parse(bearer)

Examples

πŸ‘‰ Authenticate with Keypair