@onchaindb/sdk 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/.claude/settings.local.json +8 -0
- package/.gitignore +5 -0
- package/.idea/.gitignore +5 -0
- package/.idea/compiler.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +7 -0
- package/.idea/sdk.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +257 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +11 -3
- package/dist/client.js.map +1 -1
- package/dist/database.d.ts +0 -20
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +0 -40
- package/dist/database.js.map +1 -1
- package/dist/query-sdk/tests/setup.d.ts +16 -0
- package/dist/query-sdk/tests/setup.d.ts.map +1 -0
- package/dist/query-sdk/tests/setup.js +49 -0
- package/dist/query-sdk/tests/setup.js.map +1 -0
- package/examples/basic-usage.ts +136 -0
- package/examples/blob-upload-example.ts +140 -0
- package/examples/collection-schema-example.ts +304 -0
- package/examples/server-side-joins.ts +201 -0
- package/examples/tweet-self-joins-example.ts +352 -0
- package/package-lock.json +3823 -0
- package/package.json +1 -1
- package/skills.md +1096 -0
- package/src/.env +1 -0
- package/src/batch.d.ts +121 -0
- package/src/batch.js +205 -0
- package/src/batch.ts +257 -0
- package/src/client.ts +1856 -0
- package/src/database.d.ts +268 -0
- package/src/database.js +294 -0
- package/src/database.ts +695 -0
- package/src/index.d.ts +160 -0
- package/src/index.js +186 -0
- package/src/index.ts +253 -0
- package/src/query-sdk/ConditionBuilder.ts +103 -0
- package/src/query-sdk/FieldConditionBuilder.ts +2 -0
- package/src/query-sdk/NestedBuilders.ts +186 -0
- package/src/query-sdk/OnChainDB.ts +294 -0
- package/src/query-sdk/QueryBuilder.ts +1191 -0
- package/src/query-sdk/QueryResult.ts +375 -0
- package/src/query-sdk/README.md +866 -0
- package/src/query-sdk/SelectionBuilder.ts +94 -0
- package/src/query-sdk/adapters/HttpClientAdapter.ts +249 -0
- package/src/query-sdk/dist/ConditionBuilder.d.ts +22 -0
- package/src/query-sdk/dist/ConditionBuilder.js +90 -0
- package/src/query-sdk/dist/FieldConditionBuilder.d.ts +1 -0
- package/src/query-sdk/dist/FieldConditionBuilder.js +6 -0
- package/src/query-sdk/dist/NestedBuilders.d.ts +43 -0
- package/src/query-sdk/dist/NestedBuilders.js +144 -0
- package/src/query-sdk/dist/OnChainDB.d.ts +19 -0
- package/src/query-sdk/dist/OnChainDB.js +123 -0
- package/src/query-sdk/dist/QueryBuilder.d.ts +70 -0
- package/src/query-sdk/dist/QueryBuilder.js +295 -0
- package/src/query-sdk/dist/QueryResult.d.ts +52 -0
- package/src/query-sdk/dist/QueryResult.js +293 -0
- package/src/query-sdk/dist/SelectionBuilder.d.ts +20 -0
- package/src/query-sdk/dist/SelectionBuilder.js +80 -0
- package/src/query-sdk/dist/adapters/HttpClientAdapter.d.ts +27 -0
- package/src/query-sdk/dist/adapters/HttpClientAdapter.js +170 -0
- package/src/query-sdk/dist/index.d.ts +36 -0
- package/src/query-sdk/dist/index.js +27 -0
- package/src/query-sdk/dist/operators.d.ts +56 -0
- package/src/query-sdk/dist/operators.js +289 -0
- package/src/query-sdk/dist/tests/setup.d.ts +15 -0
- package/src/query-sdk/dist/tests/setup.js +46 -0
- package/src/query-sdk/index.ts +59 -0
- package/src/query-sdk/jest.config.js +25 -0
- package/src/query-sdk/operators.ts +335 -0
- package/src/query-sdk/package.json +46 -0
- package/src/query-sdk/tests/FieldConditionBuilder.test.ts +84 -0
- package/src/query-sdk/tests/LogicalOperator.test.ts +85 -0
- package/src/query-sdk/tests/NestedBuilders.test.ts +321 -0
- package/src/query-sdk/tests/QueryBuilder.test.ts +348 -0
- package/src/query-sdk/tests/QueryResult.test.ts +464 -0
- package/src/query-sdk/tests/aggregations.test.ts +653 -0
- package/src/query-sdk/tests/comprehensive.test.ts +279 -0
- package/src/query-sdk/tests/integration.test.ts +608 -0
- package/src/query-sdk/tests/operators.test.ts +327 -0
- package/src/query-sdk/tests/setup.ts +59 -0
- package/src/query-sdk/tests/unit.test.ts +794 -0
- package/src/query-sdk/tsconfig.json +26 -0
- package/src/query-sdk/yarn.lock +3092 -0
- package/src/types.d.ts +131 -0
- package/src/types.js +46 -0
- package/src/types.ts +534 -0
- package/src/x402/index.ts +12 -0
- package/src/x402/types.ts +250 -0
- package/src/x402/utils.ts +332 -0
- package/tsconfig.json +20 -0
- package/yarn.lock +2309 -0
package/dist/database.js
CHANGED
|
@@ -11,46 +11,6 @@ class DatabaseManager {
|
|
|
11
11
|
this.appId = appId;
|
|
12
12
|
this.apiKey = apiKey;
|
|
13
13
|
}
|
|
14
|
-
async createCollection(name, config) {
|
|
15
|
-
const payload = {
|
|
16
|
-
name,
|
|
17
|
-
namespace: config.namespace,
|
|
18
|
-
primary_column: config.primary_column,
|
|
19
|
-
sort_column: config.sort_column || null,
|
|
20
|
-
schema_definition: config.schema_definition || null,
|
|
21
|
-
access_policy: config.access_policy || null,
|
|
22
|
-
};
|
|
23
|
-
const response = await this.httpClient.post(`/api/apps/${this.appId}/collections`, payload, { headers: this.getHeaders() });
|
|
24
|
-
return response.data;
|
|
25
|
-
}
|
|
26
|
-
async listCollections(includeStats) {
|
|
27
|
-
const params = includeStats ? { include_stats: true } : {};
|
|
28
|
-
const response = await this.httpClient.get(`/api/apps/${this.appId}/collections`, {
|
|
29
|
-
params,
|
|
30
|
-
headers: this.getHeaders()
|
|
31
|
-
});
|
|
32
|
-
return response.data;
|
|
33
|
-
}
|
|
34
|
-
async getCollection(name, includeStats) {
|
|
35
|
-
const params = includeStats ? { include_stats: true } : {};
|
|
36
|
-
const response = await this.httpClient.get(`/api/apps/${this.appId}/collections/${name}`, {
|
|
37
|
-
params,
|
|
38
|
-
headers: this.getHeaders()
|
|
39
|
-
});
|
|
40
|
-
return response.data;
|
|
41
|
-
}
|
|
42
|
-
async updateCollection(name, updates, options) {
|
|
43
|
-
const payload = { ...updates, options };
|
|
44
|
-
const response = await this.httpClient.put(`/api/apps/${this.appId}/collections/${name}`, payload, { headers: this.getHeaders() });
|
|
45
|
-
return response.data;
|
|
46
|
-
}
|
|
47
|
-
async deleteCollection(name, options) {
|
|
48
|
-
const response = await this.httpClient.delete(`/api/apps/${this.appId}/collections/${name}`, {
|
|
49
|
-
data: options,
|
|
50
|
-
headers: this.getHeaders()
|
|
51
|
-
});
|
|
52
|
-
return response.data;
|
|
53
|
-
}
|
|
54
14
|
async createIndex(indexDefinition, paymentOptions) {
|
|
55
15
|
const endpoint = `/api/apps/${this.appId}/indexes`;
|
|
56
16
|
try {
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import 'jest';
|
|
2
|
+
export declare const createMockResponse: (data: any) => {
|
|
3
|
+
data: {
|
|
4
|
+
records: any[];
|
|
5
|
+
total: number;
|
|
6
|
+
page: number;
|
|
7
|
+
limit: number;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare class MockHttpClient {
|
|
11
|
+
private responses;
|
|
12
|
+
setResponse(url: string, response: any): void;
|
|
13
|
+
post(url: string, data: any, headers?: Record<string, string>): Promise<any>;
|
|
14
|
+
clear(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/query-sdk/tests/setup.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,CAAC;AAoBd,eAAO,MAAM,kBAAkB,GAAI,MAAM,GAAG;;;;;;;CAO1C,CAAC;AAGH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAA+B;IAEhD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAIhC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAenE,KAAK;CAGN"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockHttpClient = exports.createMockResponse = void 0;
|
|
4
|
+
require("jest");
|
|
5
|
+
jest.setTimeout(30000);
|
|
6
|
+
const originalConsoleError = console.error;
|
|
7
|
+
const originalConsoleWarn = console.warn;
|
|
8
|
+
beforeAll(() => {
|
|
9
|
+
console.error = jest.fn();
|
|
10
|
+
console.warn = jest.fn();
|
|
11
|
+
});
|
|
12
|
+
afterAll(() => {
|
|
13
|
+
console.error = originalConsoleError;
|
|
14
|
+
console.warn = originalConsoleWarn;
|
|
15
|
+
});
|
|
16
|
+
const createMockResponse = (data) => ({
|
|
17
|
+
data: {
|
|
18
|
+
records: Array.isArray(data) ? data : [data],
|
|
19
|
+
total: Array.isArray(data) ? data.length : 1,
|
|
20
|
+
page: 1,
|
|
21
|
+
limit: 10
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
exports.createMockResponse = createMockResponse;
|
|
25
|
+
class MockHttpClient {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.responses = new Map();
|
|
28
|
+
}
|
|
29
|
+
setResponse(url, response) {
|
|
30
|
+
this.responses.set(url, response);
|
|
31
|
+
}
|
|
32
|
+
async post(url, data, headers) {
|
|
33
|
+
let response = this.responses.get(url);
|
|
34
|
+
if (!response) {
|
|
35
|
+
for (const [key, value] of this.responses.entries()) {
|
|
36
|
+
if (url.endsWith(key)) {
|
|
37
|
+
response = value;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return Promise.resolve(response || (0, exports.createMockResponse)([]));
|
|
43
|
+
}
|
|
44
|
+
clear() {
|
|
45
|
+
this.responses.clear();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.MockHttpClient = MockHttpClient;
|
|
49
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/query-sdk/tests/setup.ts"],"names":[],"mappings":";;;AAGA,gBAAc;AAGd,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAGvB,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;AAC3C,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;AAEzC,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,GAAG,EAAE;IACZ,OAAO,CAAC,KAAK,GAAG,oBAAoB,CAAC;IACrC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC;AACrC,CAAC,CAAC,CAAC;AAGI,MAAM,kBAAkB,GAAG,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAPU,QAAA,kBAAkB,sBAO5B;AAGH,MAAa,cAAc;IAA3B;QACU,cAAS,GAAqB,IAAI,GAAG,EAAE,CAAC;IAwBlD,CAAC;IAtBC,WAAW,CAAC,GAAW,EAAE,QAAa;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAS,EAAE,OAAgC;QAEjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAA,0BAAkB,EAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAzBD,wCAyBC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OnChainDB SDK - Basic Usage Examples
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates fundamental operations with the OnChainDB SDK
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { createClient, OnChainDBError, ValidationError } from '../src';
|
|
8
|
+
|
|
9
|
+
async function basicUsageExample() {
|
|
10
|
+
console.log('OnChainDB SDK - Basic Usage Example\n');
|
|
11
|
+
|
|
12
|
+
// Create client instance
|
|
13
|
+
const db = createClient({
|
|
14
|
+
endpoint: 'http://localhost:9092',
|
|
15
|
+
apiKey: 'your_api_key',
|
|
16
|
+
appId: 'my_app'
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
// 1. Health check
|
|
21
|
+
console.log('1. Checking service health...');
|
|
22
|
+
const health = await db.health();
|
|
23
|
+
console.log('Service is healthy:', health);
|
|
24
|
+
console.log();
|
|
25
|
+
|
|
26
|
+
// 2. Store records
|
|
27
|
+
console.log('2. Storing records...');
|
|
28
|
+
const storeResult = await db.store({
|
|
29
|
+
collection: 'messages',
|
|
30
|
+
data: [
|
|
31
|
+
{ id: 'msg_1', message: 'Hello OnChainDB!', author: 'alice' },
|
|
32
|
+
{ id: 'msg_2', message: 'Welcome to decentralized storage', author: 'bob' }
|
|
33
|
+
]
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
console.log('Records stored:');
|
|
37
|
+
console.log(` Ticket ID: ${storeResult.ticket_id}`);
|
|
38
|
+
console.log();
|
|
39
|
+
|
|
40
|
+
// 3. Wait for confirmation
|
|
41
|
+
console.log('3. Waiting for confirmation...');
|
|
42
|
+
const task = await db.waitForTaskCompletion(storeResult.ticket_id);
|
|
43
|
+
console.log(`Task completed with status: ${task.status}`);
|
|
44
|
+
console.log();
|
|
45
|
+
|
|
46
|
+
// 4. Query records using QueryBuilder
|
|
47
|
+
console.log('4. Querying records...');
|
|
48
|
+
const queryResult = await db.queryBuilder()
|
|
49
|
+
.collection('messages')
|
|
50
|
+
.whereField('author').equals('alice')
|
|
51
|
+
.selectAll()
|
|
52
|
+
.limit(10)
|
|
53
|
+
.execute();
|
|
54
|
+
|
|
55
|
+
console.log(`Found ${queryResult.records?.length || 0} records by Alice:`);
|
|
56
|
+
queryResult.records?.forEach((record, index) => {
|
|
57
|
+
console.log(` ${index + 1}. ${record.message}`);
|
|
58
|
+
});
|
|
59
|
+
console.log();
|
|
60
|
+
|
|
61
|
+
// 5. Query with multiple conditions
|
|
62
|
+
console.log('5. Query with selection...');
|
|
63
|
+
const selectResult = await db.queryBuilder()
|
|
64
|
+
.collection('messages')
|
|
65
|
+
.selectFields(['id', 'message', 'author'])
|
|
66
|
+
.limit(5)
|
|
67
|
+
.execute();
|
|
68
|
+
|
|
69
|
+
console.log(`Retrieved ${selectResult.records?.length || 0} records`);
|
|
70
|
+
console.log();
|
|
71
|
+
|
|
72
|
+
console.log('All basic operations completed successfully!');
|
|
73
|
+
|
|
74
|
+
} catch (error) {
|
|
75
|
+
console.error('Error occurred:', error);
|
|
76
|
+
|
|
77
|
+
if (error instanceof ValidationError) {
|
|
78
|
+
console.error('Validation Error:', error.message);
|
|
79
|
+
} else if (error instanceof OnChainDBError) {
|
|
80
|
+
console.error('OnChainDB Error:', error.code, error.message);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Store with payment example
|
|
86
|
+
async function storeWithPaymentExample() {
|
|
87
|
+
console.log('\nOnChainDB SDK - Store with Payment Example\n');
|
|
88
|
+
|
|
89
|
+
const db = createClient({
|
|
90
|
+
endpoint: 'http://localhost:9092',
|
|
91
|
+
apiKey: 'your_api_key',
|
|
92
|
+
appId: 'my_app'
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
try {
|
|
96
|
+
// Store with x402 payment callback
|
|
97
|
+
const result = await db.store(
|
|
98
|
+
{
|
|
99
|
+
collection: 'premium_content',
|
|
100
|
+
data: [{ title: 'Premium Article', content: 'This is paid content' }]
|
|
101
|
+
},
|
|
102
|
+
async (quote) => {
|
|
103
|
+
// In a real app, you would use Keplr or another wallet here
|
|
104
|
+
console.log('Payment required:');
|
|
105
|
+
console.log(` Amount: ${quote.total_cost_tia} TIA`);
|
|
106
|
+
console.log(` Broker: ${quote.broker_address}`);
|
|
107
|
+
|
|
108
|
+
// Mock payment - replace with actual wallet integration
|
|
109
|
+
// const txHash = await wallet.signAndBroadcast(
|
|
110
|
+
// quote.broker_address,
|
|
111
|
+
// `${Math.ceil(quote.total_cost_tia * 1_000_000)}utia`,
|
|
112
|
+
// 'OnChainDB storage'
|
|
113
|
+
// );
|
|
114
|
+
|
|
115
|
+
return { txHash: 'mock_tx_hash', network: 'mocha-4' };
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
console.log('Store initiated:', result.ticket_id);
|
|
120
|
+
|
|
121
|
+
} catch (error) {
|
|
122
|
+
console.error('Store with payment failed:', error);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Run examples
|
|
127
|
+
async function main() {
|
|
128
|
+
await basicUsageExample();
|
|
129
|
+
await storeWithPaymentExample();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (require.main === module) {
|
|
133
|
+
main().catch(console.error);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { basicUsageExample, storeWithPaymentExample };
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OnChainDB SDK - Blob Upload Example
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates how to upload binary files (images, videos, documents)
|
|
5
|
+
* to OnChainDB with the x402 payment protocol.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Get pricing quote for blob upload
|
|
9
|
+
* - Upload blob with custom metadata
|
|
10
|
+
* - Track upload progress with ticket_id
|
|
11
|
+
* - Retrieve uploaded blob
|
|
12
|
+
* - Query blob metadata
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { createClient } from '../src';
|
|
16
|
+
|
|
17
|
+
const config = {
|
|
18
|
+
endpoint: 'http://localhost:9092',
|
|
19
|
+
apiKey: 'your_api_key',
|
|
20
|
+
appId: 'my_app'
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const BROKER_ADDRESS = 'celestia1broker...';
|
|
24
|
+
|
|
25
|
+
async function uploadProfilePhoto() {
|
|
26
|
+
console.log('OnChainDB Blob Upload Example\n');
|
|
27
|
+
|
|
28
|
+
const client = createClient(config);
|
|
29
|
+
|
|
30
|
+
// In a real app, get file from input:
|
|
31
|
+
// const file = document.querySelector('input[type="file"]').files[0];
|
|
32
|
+
|
|
33
|
+
// For this example, create a mock blob
|
|
34
|
+
const mockBlob = new Blob(['mock image data'], { type: 'image/jpeg' });
|
|
35
|
+
const fileSizeKB = Math.ceil(mockBlob.size / 1024);
|
|
36
|
+
|
|
37
|
+
// Step 1: Get pricing quote
|
|
38
|
+
console.log('1. Getting pricing quote...');
|
|
39
|
+
const quote = await client.getPricingQuote({
|
|
40
|
+
app_id: config.appId,
|
|
41
|
+
operation_type: 'write',
|
|
42
|
+
size_kb: fileSizeKB,
|
|
43
|
+
collection: 'avatars'
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const costInUtia = Math.ceil(quote.total_cost * 1_000_000);
|
|
47
|
+
console.log(` Size: ${fileSizeKB}KB`);
|
|
48
|
+
console.log(` Cost: ${quote.total_cost} TIA (${costInUtia} utia)`);
|
|
49
|
+
console.log();
|
|
50
|
+
|
|
51
|
+
// Step 2: Create payment transaction
|
|
52
|
+
// In a real app with Keplr:
|
|
53
|
+
// const result = await wallet.signAndBroadcast(
|
|
54
|
+
// BROKER_ADDRESS,
|
|
55
|
+
// `${costInUtia}utia`,
|
|
56
|
+
// 'Image upload'
|
|
57
|
+
// );
|
|
58
|
+
// const paymentTxHash = result.transactionHash;
|
|
59
|
+
|
|
60
|
+
const paymentTxHash = 'mock_payment_tx_hash';
|
|
61
|
+
const userAddress = 'celestia1user...';
|
|
62
|
+
|
|
63
|
+
console.log('2. Payment transaction created');
|
|
64
|
+
console.log(` TX Hash: ${paymentTxHash}`);
|
|
65
|
+
console.log();
|
|
66
|
+
|
|
67
|
+
// Step 3: Upload blob with metadata
|
|
68
|
+
console.log('3. Uploading blob...');
|
|
69
|
+
const uploadResult = await client.uploadBlob({
|
|
70
|
+
collection: 'avatars',
|
|
71
|
+
blob: mockBlob,
|
|
72
|
+
metadata: {
|
|
73
|
+
user_address: userAddress,
|
|
74
|
+
description: 'Profile photo',
|
|
75
|
+
is_primary: true
|
|
76
|
+
},
|
|
77
|
+
payment_tx_hash: paymentTxHash,
|
|
78
|
+
user_address: userAddress,
|
|
79
|
+
broker_address: BROKER_ADDRESS,
|
|
80
|
+
amount_utia: costInUtia
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
console.log(' Blob upload initiated!');
|
|
84
|
+
console.log(` Blob ID: ${uploadResult.blob_id}`);
|
|
85
|
+
console.log(` Ticket ID: ${uploadResult.ticket_id}`);
|
|
86
|
+
console.log();
|
|
87
|
+
|
|
88
|
+
// Step 4: Wait for upload completion
|
|
89
|
+
console.log('4. Waiting for upload to complete...');
|
|
90
|
+
const task = await client.waitForTaskCompletion(uploadResult.ticket_id);
|
|
91
|
+
|
|
92
|
+
console.log(` Status: ${task.status}`);
|
|
93
|
+
if (task.status === 'Completed') {
|
|
94
|
+
console.log(` TX Hash: ${task.transaction_hash}`);
|
|
95
|
+
console.log(` Block Height: ${task.block_height}`);
|
|
96
|
+
}
|
|
97
|
+
console.log();
|
|
98
|
+
|
|
99
|
+
// Step 5: Query blob metadata
|
|
100
|
+
console.log('5. Querying blob metadata...');
|
|
101
|
+
const blobs = await client.queryBlobMetadata('avatars', {
|
|
102
|
+
user_address: userAddress
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
console.log(` Found ${blobs.length} blobs for user`);
|
|
106
|
+
for (const blob of blobs) {
|
|
107
|
+
console.log(` - Blob ID: ${blob.blob_id}`);
|
|
108
|
+
console.log(` Type: ${blob.content_type}`);
|
|
109
|
+
console.log(` Size: ${blob.size_bytes} bytes`);
|
|
110
|
+
}
|
|
111
|
+
console.log();
|
|
112
|
+
|
|
113
|
+
// Step 6: Retrieve blob
|
|
114
|
+
console.log('6. Retrieving blob...');
|
|
115
|
+
const retrievedBlob = await client.retrieveBlob({
|
|
116
|
+
collection: 'avatars',
|
|
117
|
+
blob_id: uploadResult.blob_id
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
console.log(' Blob retrieved successfully!');
|
|
121
|
+
console.log(` Size: ${retrievedBlob instanceof Blob ? retrievedBlob.size : retrievedBlob.length} bytes`);
|
|
122
|
+
|
|
123
|
+
// In browser, display the image:
|
|
124
|
+
// const imageUrl = URL.createObjectURL(retrievedBlob);
|
|
125
|
+
// document.querySelector('img').src = imageUrl;
|
|
126
|
+
|
|
127
|
+
console.log('\nBlob upload example complete!');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Run example
|
|
131
|
+
if (require.main === module) {
|
|
132
|
+
uploadProfilePhoto()
|
|
133
|
+
.then(() => process.exit(0))
|
|
134
|
+
.catch((error) => {
|
|
135
|
+
console.error('Error:', error.message);
|
|
136
|
+
process.exit(1);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export { uploadProfilePhoto };
|