패키지, 저장소 및 앱 카테고리 검색

wallet_connect 표지
패키지 상세v1.0.4

wallet_connect

다트로 사랑을 담아 만든 월렛 커넥트 클라이언트.

AndroidiOSmacOSWindowsLinux
30일 다운로드
116
좋아요
68
Pub 점수
110

패키지 설치

flutter pub add wallet_connect

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Wallet Connect는 Flutter 애플리케이션에 블록체인 지갑 연결 기능을 통합하기 위한 Dart 기반 클라이언트입니다. 신중하게 설계되어 다양한 플랫폼에서 dApp과 암호화 지갑 간의 안전한 피어 투 피어 통신을 가능하게 합니다. 이 패키지는 원활한 지갑 쌍결정, 세션 관리 및 거래 서명을 지원하여 Web3 앱 개발에 적합합니다. Android, iOS, macOS, Windows, Linux에서 네이티브로 작동하도록 설계되어 광범위한 호환성을 보장합니다. 깔끔한 API와 활발한 오픈소스 커뮤니티를 통해 탈중앙형 신원 및 결제 워크플로우 통합을 단순화합니다.

사용 사례

  • 사용자와 암호 지갑 연결
  • 앱에서 블록체인 거래 활성화
  • dApp 인증 지원
  • 다중 플랫폼 지갑 상호작용 지원
  • 웹3를 지원하는 모바일 및 데스크톱 앱 구축

주요 기능

  • 크로스 플랫폼 지원 (Android, iOS, macOS, Windows, Linux)
  • 안전한 피어 투 피어 연결
  • 세션 관리 및 복구
  • 지갑을 통한 트랜잭션 서명
  • 오픈소스이며 지속적으로 유지 관리되고 있습니다

적합한 대상

  • Flutter 개발자가 dApps 구축 중
  • 웹3 애플리케이션 창작자
  • 암호화 지갑 통합 업체
  • 모바일 및 데스크톱 블록체인 앱
  • 보안 지갑 쌍을 필요로 하는 프로젝트

고려 사항

  • Web3 개념에 대한 이해가 필요합니다
  • 외부 지갑 제공업체에 의존합니다
  • 페어링 흐름을 위한 추가 UI가 필요할 수 있습니다
  • 블록체인 외 사용 사례에는 적합하지 않습니다
  • 기본 예제 외에 문서가 제한적

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Wallet Connect Logo

Wallet Connect

Wallet Connect client in dart highly inspired from wallet-connect-kotlin by Trust Wallet.

Usage

    import 'package:wallet_connect/wallet_connect.dart';
  1. Create instance of Wallet connect client and define callbacks.
    final wcClient = WCClient(
      onConnect: () {
        // Respond to connect callback
      },
      onDisconnect: (code, reason) {
        // Respond to disconnect callback
      },
      onFailure: (error) {
        // Respond to connection failure callback
      },
      onSessionRequest: (id, peerMeta) {
        // Respond to connection request callback
      },
      onEthSign: (id, message) {
        // Respond to personal_sign or eth_sign or eth_signTypedData request callback
      },
      onEthSendTransaction: (id, tx) {
        // Respond to eth_sendTransaction request callback
      },
      onEthSignTransaction: (id, tx) {
        // Respond to eth_signTransaction request callback
      },
    );
  1. Create WCSession object from wc: uri.
    final session = WCSession.from(wcUri);
  1. Create WCPeerMeta object containing metadata for your app.
    final peerMeta = WCPeerMeta(
        name: 'Example Wallet',
        url: 'https://example.wallet',
        description: 'Example Wallet',
        icons: [],
    );
  1. Connect to a new session.
    wcClient.connectNewSession(session: session, peerMeta: peerMeta);
  1. Or connect to a saved session (from step 8).
    wcClient.connectFromSessionStore(sessionStore);
  1. Approve a session connection request.
    wcClient.approveSession(
        accounts: [], // account addresses
        chainId: 1, // chain id
    );
  1. Or reject a session connection request.
    wcClient.rejectSession();
  1. Get active session from sessionStore getter to save for later use.
    final sessionStore = wcClient.sessionStore;
  1. Approve a sign transaction request by signing the transaction and sending the signed hex data.
    wcClient.approveRequest<String>(
        id: id,
        result: signedDataAsHex,
    );
  1. Approve a send transaction request by sending the transaction hash generated from sending the transaction.
    wcClient.approveRequest<String>(
        id: id,
        result: transactionHash,
    );
  1. Approve a sign request by sending the signed data hex generated.
    wcClient.approveRequest<String>(
        id: id,
        result: signedDataAsHex,
    );
  1. Or reject any of the requests above by specifying request id.
    wcClient.rejectRequest(id: id);
  1. Disconnect from a connected session locally.
    wcClient.disconnect();
  1. Permanently close a connected session.
    wcClient.killSession();

카테고리

의존성

의존성 목록 8 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.