Observed since 21 Oct, 09:22 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Tookit for interacting with move eps framework
Dubhe is a client-agnostic SDK that supports various platforms including browsers, Node.js, and the COCOS game engine. It provides a simple interface to interact with your Sui Move contracts.
Before using the SDK, make sure you have:
packageId after deploymentFirst, define your contract's configuration using DubheConfig:
import { DubheConfig } from '@0xobelisk/sui-common';
export const dubheConfig = {
name: 'counter',
description: 'counter',
systems: ['counter'],
schemas: {
counter: {
structure: {
value: 'StorageValue<u32>'
}
}
}
} as DubheConfig;
Generate the contract code using CLI:
dubhe schemagen --config-path dubhe.config.ts
There are two ways to initialize the Dubhe client:
import { loadMetadata, Dubhe, NetworkType } from '@0xobelisk/sui-client';
const network = 'devnet' as NetworkType;
const packageId = 'YOUR_PACKAGE_ID';
const metadata = await loadMetadata(network, packageId);
const dubhe = new Dubhe({
networkType: network,
packageId: packageId,
metadata: metadata,
secretKey: privkey
});
import metadata from './metadata.json';
const dubhe = new Dubhe({
networkType: network,
packageId: packageId,
metadata: metadata,
secretKey: privkey
});
To call contract methods:
import { Transaction } from '@0xobelisk/sui-client';
// Create transaction
const tx = new Transaction();
const params = [
/* your parameters */
];
// Execute transaction
const response = await dubhe.tx.counter_system.inc(tx, params);
// For wallet integration
await dubhe.tx.counter_system.inc(tx, params, undefined, true);
const response = await dubhe.signAndSendTxn(tx);
To query contract state:
const tx = new Transaction();
const params = [
/* your parameters */
];
const result = await dubhe.query.counter_system.get(tx, params);
// For BCS encoded results
const decodedData = dubhe.view(result);
The SDK provides a view() method to decode BCS-encoded return values from contract queries.
// Example contract return type
struct GameState {
score: u64,
player_name: String,
is_active: bool,
items: vector<Item>
}
// Query and decode
const tx = new Transaction();
const result = await dubhe.query.game_system.get_state(tx, params);
const decodedState = dubhe.view(result);
⚠️ Important Note:
Dubhe provides three methods for generating entity keys:
// From object ID
const objectKey = await dubhe.entity_key_from_object(objectId);
// From string data
const bytesKey = await dubhe.entity_key_from_bytes('hello');
// From number
const numberKey = await dubhe.entity_key_from_u256(123);
To query objects owned by a specific address:
const owner = '0xfa99b5b0463fcfb7d0203c701a76da5eda21a96190eb1368ab36a437cc89195e';
const ownedObjects = await dubhe.getOwnedObjects(owner);
For more information or support, please visit our GitHub repository or join our community channels.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 2.0.0Registry latest | 29 Jun 2026 | 39 | |
| 1.2.0-pre.125 | 22 Jun 2026 | 39 | |
| 1.2.0-pre.124 | 19 May 2026 | 39 | |
| 1.2.0-pre.123 | 18 May 2026 | 39 | |
| 1.2.0-pre.122 | 13 May 2026 | 39 | |
| 1.2.0-pre.121 | 12 May 2026 | 39 | |
| 1.2.0-pre.120 | 12 May 2026 | 39 | |
| 1.2.0-pre.119 | 11 May 2026 | 39 | |
| 1.2.0-pre.118 | 8 Apr 2026 | 39 | |
| 1.2.0-pre.117 | 7 Apr 2026 | 39 | |
| 1.2.0-pre.115 | 29 Mar 2026 | 39 | |
| 1.2.0-pre.113 | 19 Mar 2026 | 39 | |
| 1.2.0-pre.112 | 18 Mar 2026 | 39 | |
| 1.2.0-pre.110 | 8 Mar 2026 | 39 | |
| 1.2.0-pre.109 | 8 Mar 2026 | 39 | |
| 1.2.0-pre.108 | 7 Mar 2026 | 39 | |
| 1.2.0-pre.107 | 7 Mar 2026 | 39 | |
| 1.2.0-pre.106 | 7 Mar 2026 | 39 | |
| 1.2.0-pre.105 | 6 Mar 2026 | 39 | |
| 1.2.0-pre.104 | 6 Mar 2026 | 39 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 09:22 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:a8ba5098910c2dba86dfd12dc890ca59482d8217db88b932dee54a9776d62ac1