Я работаю над цепным кодом Java, развернутым в Oracle Cloud (Hyperledger).Что мне нужно знать: если кто-то вызывает функцию createAsset()
, я хочу сохранить owner/creator
актива в качестве атрибута.Например, если я хочу удалить / деактивировать актив, это может сделать только владелец.
Это своего рода список контроля доступа.Я нашел cid library
, который предлагает именно это - написание ваших собственных правил контроля доступа.Но я не нашел эту библиотеку для Java.
https://github.com/hyperledger/fabric/tree/release-1.1/core/chaincode/lib/cid
Эта библиотека выглядит хорошо для реализации Go, но я не нашел никакого эквивалента для моего цепного кода Java.
public Response createAsset(ChaincodeStub stub, List<String> args) {
byte[] owner = stub.getCreator();
// creating new object with arguments
Asset asset = new Asset(args.get(0), owner.toString());
// writing serialized object to ledger
byte[] byteobj = Asset.getSerializedObject(asset);
stub.putState("ASSET." + args.get(0), byteobj);
return newSuccessResponse(asset.getName() + " by " + asset.getOwner());
}
Мне нужна точная идентификация пользователя, такая как «msg.sender» для Ethereum, чтобы проверить, например, в функции удаления, если пользователь является владельцем этого ресурса.