1-Single User with Structured Data
1.1. Task
1.2. Data
Wallet Address(text)
Name (text)
Balance (float4)
1.3. Example code to Insert cipher
import { DataType, MindLake } from 'mind-lake-sdk';
async function f() {
const mindLake = await MindLake.getInstance("YOU OWN APP KEY");
// connect to MindLake."5" is example of Goerli Testnet chainId
const chainId = "5"
const res1 = await mindLake.connect(chainId);
if(res1.code !== 0) {
console.error(res1.message);
return
}
// create a table
const dataLake = mindLake.dataLake;
const res2 = await dataLake.createTable("wallet_balance", [{columnName: 'WalletAddress', type: DataType.text, encrypt: false}, {columnName: 'Name', type: DataType.text, encrypt: true}, {columnName: 'Balance', type: DataType.float4, encrypt: true}], ["id"]);
if(res2.code !==0) {
console.error(res2.message);
return
}
// encrypt data
const cryptor = mindLake.cryptor;
const res3 = await cryptor.encrypt("Alice", 'wallet_balance.Name');
if(res3.code !== 0) {
console.error(res3.message);
return
}
const encryptedName = res3.result;
const res4 = await cryptor.encrypt(10.5, 'wallet_balance.Balance');
if(res4.code !==0 ) {
console.error(res4.message);
return
}
const encryptedBalance = res4.result;
// insert encrypted data
const sql = `insert into wallet_balance (WalletAddress, Name, Balance) values ('0xB2F588A50E43f58FEb0c05ff86a30D0d0b1BF065', '${encryptedName}', '${encryptedBalance}')`;
const res5 = await dataLake.query(sql);
if(res5.code !== 0){
console.error(res5.message);
return
}
//query encrypted data;
const selectSql = `select * from wallet_balance`;
const res6 = await dataLake.query(selectSql);
if(res6.code !== 0) {
console.error(res6.message);
return
}
const columnList = res6.result.columnList;
//print encryption data from query result
console.log("The data stored in Mind Lake:");
for (const row of res6.result.data) {
for (const idx in row) {
console.log(`${columnList[idx]} >>>`, row[idx])
}
}
}1.4. Result Table in MindLake
Wallet Address
Name
Balance
1.5. Example code to query on cipher
1.6. Output
Last updated