vac:rfc:rfc:waku:waku-keystore
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Waku Keystore RFC: 2023-11-01, 2023-11-31
- status: 0%
- CC: Jimmy
Description
Waku keystore offers a secure way to store RLN credentials,
which consist of the user’s identityCredential,
the identityIndex (the index of their commitment in the tree),
and the membershipContract (the contract to which this credential is registered).
We follow EIP-2335 closely, with some changes that are more evident from the code.
- nwaku implementation of keystore - https://github.com/waku-org/nwaku/tree/master/waku/waku_keystore
- go-waku implementation of keystore - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/rln/keystore/keystore.go
- js-waku implementation of keystore - https://github.com/waku-org/js-rln/tree/master/src/keystore
- Sample keystore - https://github.com/waku-org/js-rln/blob/891ee3474aa97e8fe5ac1b35b7ed7387f395a537/src/keystore/keystore.spec.ts#L16-L95
The RFC should describe the credential encryption format, the supported kdf’s, as well as a sample keystore.
Justification
Deliverables
- RFC