explaingit

quipnetwork/cpp-sdk

11,612C++Audience · developerComplexity · 5/5LicenseSetup · hard

TLDR

A C++ SDK and CLI for deploying and transacting with Quip post-quantum Ethereum wallet contracts, using Winternitz hash-based signatures instead of standard elliptic curve cryptography.

Mindmap

mindmap
  root((repo))
    What it does
      Post-quantum Ethereum wallet
      Deploy and transfer funds
      CLI and C++ library
    Key concepts
      Winternitz signatures
      Hash-based post-quantum
      Smart contract wallet
    Tech stack
      C++ and CMake
      OpenSSL and libcurl
      Ethereum and Base
    Setup needs
      C++17 compiler
      RPC endpoint
      QuipFactory contract
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Deploy a quantum-resistant Ethereum wallet smart contract using the quip-cli command-line tool.

USE CASE 2

Send ETH transfers secured by Winternitz post-quantum signatures instead of standard ECDSA keys.

USE CASE 3

Test post-quantum wallet contracts on a local Hardhat development network before deploying to mainnet or Base.

Tech stack

C++CMakeOpenSSLlibcurlEthereum

Getting it running

Difficulty · hard Time to first run · 1day+

Requires CMake 3.10+, a C++17 compiler, libcurl, OpenSSL 3.0+, and a deployed QuipFactory contract address on your target network.

AGPL-3.0: free to use and modify, but any software you distribute or run as a network service that incorporates this code must also be released as open source under AGPL.

In plain English

This repository is a C++ software development kit (SDK) for interacting with Quip, a system of smart contracts on Ethereum-compatible blockchains. Smart contracts are programs that run on a blockchain and manage cryptocurrency or data according to predefined rules. The Quip contracts are wallet contracts: programs that hold and move funds on the Ethereum network. The distinctive feature of Quip is its use of post-quantum signatures. Standard Ethereum transactions are signed using elliptic curve cryptography, which could in theory be broken by a sufficiently powerful quantum computer. Quip instead uses Winternitz one-time signatures, a type of signature scheme based on hash functions. Hash functions are generally considered resistant to quantum computers, making Winternitz signatures post-quantum secure. The SDK provides a C++ library and a command-line tool called quip-cli. With it you can deploy a new Quip wallet, transfer funds, execute calls to other smart contracts, change the wallet's owner, and check balances. Every operation passes a post-quantum public key and signature alongside the standard Ethereum private key, which is how the smart contract verifies the caller is the legitimate owner. It works with local development networks using the Hardhat development tool, as well as real Ethereum testnets and mainnets including Base. You configure it by pointing it at an RPC URL (a connection to an Ethereum node) and providing the address of the deployed QuipFactory contract. Building the project requires CMake 3.10 or newer, a C++17 compiler, libcurl, and OpenSSL 3.0 or newer. The project is licensed under AGPL-3.0. A companion library called hashsigs-cpp, also from the Quip Network organization, handles generating the post-quantum keypairs and signatures.

Copy-paste prompts

Prompt 1
I built the quip-cli from quipnetwork/cpp-sdk. Show me the exact commands to deploy a new QuipWallet to an Ethereum testnet using my RPC URL and the QuipFactory contract address.
Prompt 2
Explain how Winternitz one-time signatures work in plain terms and why they are considered post-quantum secure compared to standard Ethereum ECDSA signatures.
Prompt 3
Help me configure the quip-cli to connect to a local Hardhat node and execute an ETH transfer from a deployed Quip wallet.
Prompt 4
Walk me through the CMake build steps for quipnetwork/cpp-sdk on Ubuntu 22.04, including installing OpenSSL 3.0 and libcurl.
Open on GitHub → Explain another repo

← quipnetwork on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.