📄️ Install the keystone SDK
The Keystone SDK offers a streamlined solution for facilitating communication between software wallets and the Keystone hardware wallet. This powerful toolkit simplifies the process of encoding transaction data into QR codes, enabling seamless transfer of information to the Keystone device. Additionally, the SDK provides efficient decoding capabilities for QR codes generated on the Keystone hardware wallet, ensuring smooth data retrieval. By incorporating the Keystone SDK, developers can significantly enhance the interoperability and user experience of their wallet applications, making hardware wallet integration more accessible and efficient.
📄️ Connect with keystone
The initial phase of integrating a software wallet with Keystone involves establishing a connection between the two. During this process, Keystone will expose the extended public key or a set of public keys specific to various blockchain networks. Upon receiving this critical data, the software wallet can generate the necessary addresses and configure the corresponding wallet within its own application logic.
📄️ Generate the unsigned data
Upon successfully establishing a connection between the software wallet and Keystone, the subsequent action involves generating the unsigned transaction data. This data must then be encoded into a QR code, which serves as a secure intermediary for transmitting the transaction details or signing messages.
📄️ Extract signature
Once Keystone signs the data, it generates a signature and encodes it into a QR Code. After the signing is completed, a software wallet can scan the QR Code to retrieve the signature. Continuing with the Ethereum transaction in step 3, the KeystoneSDK offers the function parseSignature to extract and parse the signature from the QR Code. Concurrently, the AnimatedQRScanner is a React component designed specifically to scan the Keystone QR Code.
📄️ Congratulations!
You have just learned the basics of how to integrate with Keystone using the SDK.