Skip to main content

Set Share Folder

このセクションでは、共有するフォルダの設定を行う方法を説明します。

CryptoShepherds Protocolでは、共有するフォルダの設定にsetShareFolderメソッドを使用します。

JavaScript
cs.setShareFolder('/path/to/folder', decryptionCondition);

setShareFolderメソッドは、共有するフォルダのパス復号条件を引数に取り、共有するフォルダを設定します。

'/path/to/folder'
decryptionCondition

引数に渡すフォルダは、createFolderメソッドで作成したフォルダである必要があります。

decryptionConditionは、復号条件を設定するためのオブジェクトです。

復号条件は、オンチェーンでの検証とオフチェーンコードの実行のどちらも可能です。

詳しくは、Decrypt Conditionsセクションで説明します。

この例では、オンチェーンでの検証を行っています。

以下のdecryptionConditionでは、ウォレットが0.000001 ETH以上を持つ条件を設定しています。

decryptionCondition.js
const acc = [
{
contractAddress: '',
standardContractType: '',
chain: 'ethereum',
method: 'eth_getBalance',
parameters: [":userAddress", "latest"],
returnValueTest: {
comparator: '>=',
value: '1000000000000', // 0.000001 ETH
},
},
];

export default {
accessControlConditions: acc,
chain: 'ethereum'
};

例えば、/myfamily/tripフォルダを上記の復号条件で共有する場合、以下のように記述します。

JavaScript
import decryptionCondition from './decryptionCondition';

cs.setShareFolder('/myfamily/trip', decryptionCondition);

この場合、/myfamily/tripフォルダに保存されたデータは、cs.accessDataメソッドを実行したユーザーがアクセス条件を満たした場合に取得することができます。

また、myfamilyフォルダを共有する場合、以下のように記述します。

cs.setShareFolder('/myfamily', decryptionCondition);

この場合は、/myfamilyフォルダ配下の全てのフォルダやファイルがアクセス条件を満たしたユーザーに共有されます。

データのアクセスに関しては、Access Dataセクションで詳しく説明します。