Open ajile-in opened 3 years ago
This is a good initiative, I think we can make this without breaking Indy SDK. I'd like the Indy dependency to be abstracted fully, so that we can have a bare Aries framework and able to add other signature schemes. The storage layer is currently very tightly connected to Indy, so this is the first part that needs to undergo this change. Just adding my thoughts here, glad to hear other are considering this, too.
Is your feature request related to a problem? Please describe.
The
Hyperledger.Aries.Agents.IAgentContext
interface has a dependency on Indy SDK's WalletApiHyperledger.Indy.WalletApi
mainly due toWallet
&Pool
classes. If we can extract out these dependencies into ledger-specific interfaces then it would become easier to start plugging-in more ledger-specificAgentContext
for other ledger's e.g. HL Fabric, or Besu, etc.Describe the solution you'd like
A rough idea of the proposed solution looks something like this:
IWallet
interface and extract Indy-specific interface methods into eitherIIndyWallet
orIDefaultWallet
interface as per an existing conventionPoolAwaitable Pool { get; set; }
to this Indy-specific interfaceIFabricWallet
Similar changes may need to be introduced for
Ledger
specific implementation in order to supportVDR
API.Additional context I am guessing that this may result into a breaking change in Indy SDK .NET Wrapper as well. Looking forward to more thoughts/suggestions on this approach.