import { Ditex402, cosineSimilarity } from './src/index';
import { ethers } from 'ethers';
// Initialize SDK with wallet signer
const provider = new ethers.JsonRpcProvider('https://rpc.example.com');
const signer = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
const sdk = new Ditex402({
signer,
vaultConfig: {
ipfsGateway: 'https://ipfs.io/ipfs/',
},
});
// Create a vector embedding (example)
const myVector = [0.1, 0.2, 0.3, 0.4, 0.5];
// List memory shard for sale
const listingId = await sdk.marketplace.listMemoryShard(
myVector,
ethers.parseEther('0.1').toString(), // 0.1 protocol assets
await signer.getAddress(),
{
description: 'AI agent memory about user preferences',
category: 'user-data',
}
);
console.log(`Listed memory shard: ${listingId}`);
// Search for similar memories
const results = await sdk.marketplace.searchListings(myVector, {
minSimilarity: 0.8,
maxPrice: ethers.parseEther('1.0').toString(),
});
// Purchase a memory shard
if (results.length > 0) {
const purchasedVector = await sdk.marketplace.buyMemoryShard(
results[0].listing.id,
await signer.getAddress()
);
// Calculate similarity
const similarity = cosineSimilarity(myVector, purchasedVector);
console.log(`Purchased memory with similarity: ${similarity}`);
}