Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
@openblockhq/dappsdk
Advanced tools
Readme
OpenBlock SDK is an open-source SDK that allows you to connect your DApps to our users, their assets and NFTs. We currently support major EVM chains, Aptos, Starcoin and more. Login to openblock.com for more details.
yarn add @openblockhq/dappsdk
import '@openblockhq/dappsdk';
window.addEventListener('DOMContentLoaded', () => {
const provider = window.openblock;
// Config
provider.autoRefreshOnNetworkChange = false;
// On Chain Changed
provider.on('chainChanged', (chain) => {
// handler
});
// On Accounts Changed
provider.on('accountsChanged', (accounts) => {
// handler
});
// Request Accounts
const accounts = await provider.request({
method: 'eth_requestAccounts',
});
// Chain ID
const chainId = await provider.request({
method: 'eth_chainId',
});
// Net Version
const networkId = await provider.request({
method: 'net_version',
});
// Get Block By Number
const block = await provider.request({
method: 'eth_getBlockByNumber'
});
// Switch Ethereum Chain
await provider.request({
method: 'wallet_switchEthereumChain',
params: [
{
chainId,
}
]
});
// Send Transaction
await provider.request({
method: 'eth_sendTransaction',
params: [
{
from,
to,
value,
gasLimit,
gasPrice,
type,
data,
}
]
});
// Add Ethereum Chain
await provider.request({
method: 'wallet_addEthereumChain',
params: [
{
chainId,
rpcUrls: [
'https://http-mainner-node.huobichain.com',
'https://http-mainner.hecochain.com',
],
chainName: 'Huobi ECO Chain',
nativeCurrency: { name: 'HECO', decimals: '18', symbol: 'HT' },
blockExplorerUrls: ['https://hecoinfo.com'],
}
]
});
// Sign
await provider.request({
method: 'eth_sign',
params: ['accounts', 'msg'],
});
// Personal Sign
await provider.request({
method: 'personal_sign',
params: ['msg', 'from'],
});
// eth_signTypedData_v4
await provider.request({
method: 'eth_signTypedData_v4',
params: ['accounts','typedata msg'],
});
// Personal Sign Verify
await provider.request({
method: 'personal_ecRecover',
params: ['msg', 'sign'],
});
});
import '@openblockhq/dappsdk';
window.addEventListener('DOMContentLoaded', () => {
const provider = window.openblock.aptos;
// connect
const account = await provider.connect();
// Sign And Submit Transaction
await provider.signAndSubmitTransaction({
type: 'entry_function_payload',
function: '0x1::managed_coin::register',
arguments: [],
type_arguments: [
'address::move_coin::MoveCoin',
],
});
// Sign Message
const signed = await provider.signMessage({
address: true,
application: true,
chainId: true,
message: 'hello world!',
nonce: 888,
});
// Get Account
const account = await provider.account();
// Get Network
const network = await provider.network();
// Disconnect
await provider.disconnect();
// Check isConnected
await provider.isConnected();
// On Account Change
await provider.onAccountChange((account) => {
// handler
});
// On Network Change
await provider.onNetworkChange((network) => {
// handler
});
});
import '@openblockhq/dappsdk';
import { providers } from '@starcoin/starcoin';
window.addEventListener('DOMContentLoaded', () => {
const provider = new providers.Web3Provider(window.obstarcoin, 'any');
// Config
window.obstarcoin.autoRefreshOnNetworkChange = false;
// On Chain Changed
window.obstarcoin.on('chainChanged', () => {
// handler
});
// On Network Changed
window.obstarcoin.on('networkChanged', () => {
// handler
});
// On Accounts Changed
window.obstarcoin.on('accountsChanged', () => {
// handler
});
// Connect
window.obstarcoin.request({
method: 'stc_requestAccounts',
});
// Get Accounts
const accounts = await window.obstarcoin.request({
method: 'stc_accounts',
});
// Get Chain
const chainInfo = await window.obstarcoin.request({
method: 'chin.id',
});
// Request Permissions
const permissions = await window.obstarcoin.request({
method: 'wallet_requestPermission',
params: [{ stc_accounts: {} }]
});
// Get Permissions
const permissions = await window.obstarcoin.request({
method: 'wallet_getPermissions',
});
// Resolve Functions
const funcInfo = await window.obstarcoin.request({
method: 'contract.resolve_function',
params: [functionId]
});
// Resolve Module
const moduleInfo = await window.obstarcoin.request({
method: 'contract.resolve_module',
params: [moduleId],
});
// Personal Sign
const sign = await window.obstarcoin.request({
method: 'personal_sign',
params: [msg, from , extraParams]
});
// Get Encryption Key
const key = await window.obstarcoin.request({
method: 'stc_getEncryptionPublicKey',
params: [accounts[0]]
});
// Auto Accept Token
const result = await window.obstarcoin.request({
method: 'state.get_resource',
params: [accounts[0], '0x1::Account::AutoAcceptToken'],
});
// Send Transaction
const hash = await provider
.getSigner()
.sendUncheckedTransaction({
to,
value,
gasPrice,
});
// Get Transaction
const transaction = await provider.getTransactionInfo(transactionHash);
// Get Token Address
const result = await provider.call({
function_id: `${accounts[0]}::ABC::token_address`,
type_args: [];
args: [],
});
// Call Function
const result = await provider.send('contract.call_v2', [
{
function_id,
type_args,
args,
},
]);
});
import '@openblockhq/dappsdk';
window.addEventListener('DOMContentLoaded', () => {
const provider = window.openblock.sui;
// Connect
provider.features['standard:connect'].connect();
// Listen
provider.features['standard:events'].on('event', () => {});
// Execute Transaction
provider.features['sui:signAndExecuteTransactionBlock'].signAndExecuteTransactionBlock({
transactionBlock, // class TransactionBlock
options,
});
// Sign Message
provider.features['sui.signMessage'].signMessage({
message // UInt8Array
});
});
import '@openblockhq/dappsdk';
window.addEventListener('DOMContentLoaded', () => {
const provider = window.openblock.solana;
// Connect
provider.connect();
/**
* Sign And Send Transaction
* @param transaction {Transaction | VersionedTransaction}
*/
provider.signAndSendTransaction(transaction);
/**
* Sign Transaction
* @param transaction {Transaction | VersionedTransaction}
*/
provider.signTransaction(transaction);
/**
* Sign All Transactions
* @param transactions {Array<Transaction | VersionedTransaction>}
*/
provider.signAllTransactions([transaction1, transaction2]);
/**
* Sign Message
* @param message {Uint8Array}
*/
provider.signMessage(message);
});
FAQs
A simple, powerful SDK to interact with the OpenBlock
The npm package @openblockhq/dappsdk receives a total of 8,474 weekly downloads. As such, @openblockhq/dappsdk popularity was classified as popular.
We found that @openblockhq/dappsdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.