reclaim_sdk 0.0.1 copy "reclaim_sdk: ^0.0.1" to clipboard
reclaim_sdk: ^0.0.1 copied to clipboard

Reclaim SDK provides a way to let your users import data from other websites into your app in a secure, privacy preserving manner using zero knowledge proofs right in your Flutter Application.

example/lib/main.dart

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter_reclaim/flutter_reclaim.dart';
import 'package:flutter_reclaim/types.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Reclaim SDK Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Reclaim SDK Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String data = "";

  ProofRequest proofRequest = ProofRequest(
      applicationId: '0xFB1A47E54204Ab6e5A0D1484aF0019Fc27120BaC', log: true);

  void startVerificationFlow() async {
    proofRequest.setAppCallbackUrl('mychat://chat/');

    await proofRequest
        .buildProofRequest("6e9cba4f-7ed2-41e6-a9cb-c9a2b6c1fe4f");

    proofRequest.setSignature(proofRequest.generateSignature(
        '0x563190d719eb38397ef3cc5bc5006ea6b8e9515658a67a22543320d58ee94336'));

    final verificationRequest = await proofRequest.createVerificationRequest();

    final [
      requestUrl,
      statusUrl
    ] = [verificationRequest['requestUrl'], verificationRequest['statusUrl']];

    logger.i(requestUrl);
    logger.i(statusUrl);

    final startSessionParam = StartSessionParams(
      onSuccessCallback: (proof) => setState(() {
        data = jsonEncode(proof.extractedParameterValues);
      }),
      onFailureCallback: (error) => {
        setState(() {
          data = 'Error: $error';
        })
      },
    );

    await proofRequest.startSession(startSessionParam);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'Prove that you have Steam ID By clicking on Verify button:',
            ),
            Text(
              data,
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: startVerificationFlow,
        tooltip: 'Verify ',
        child: const Text('Verify'),
      ),
    );
  }
}
3
likes
0
points
2
downloads

Publisher

verified publisherdev.reclaimprotocol.org

Weekly Downloads

Reclaim SDK provides a way to let your users import data from other websites into your app in a secure, privacy preserving manner using zero knowledge proofs right in your Flutter Application.

Homepage
Repository

License

unknown (license)

Dependencies

eth_sig_util, flutter, http, logger, uni_links, url_launcher, uuid, web3dart

More

Packages that depend on reclaim_sdk