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

GitHub 저장소Simplicity-Block/simplicity_sdk

simplicity_sdk

Simplicity-Block/simplicity_sdk open-source repository details.

simplicity_sdk 프로젝트 이미지
스타
1
포크
0
최근 푸시(UTC)
2025. 3. 2.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Simplicity SDK for Flutter

The official SDK for interacting with the Simplicity Blockchain, designed specifically for Flutter developers. This SDK simplifies the process of deploying smart contracts and interacting with their functions, abstracting complexities such as signature management.

The SDK supports smart contracts written in Simply-lang, a user-friendly programming language for the Simplicity Blockchain. With this package, you can focus on building innovative blockchain solutions without dealing with low-level details.

Learn more about Simply-lang and Simplicity Blockchain here:

Features

  • 🚀 Easy contract deployment
  • 🔄 Simple function calls
  • 🔐 Automatic signature handling
  • 🔑 Public key derivation
  • ⚡ Async/await support
  • 🛡️ Comprehensive error handling

Installation

To install the SDK, add it to your pubspec.yaml file:

dependencies:
  simplicity_sdk: ^1.0.0

Then, run:

flutter pub get

Quick Start

Initialize the SDK
import 'package:simplicity_sdk/simplicity_sdk.dart';

final sdk = SmartContractSDK();
Deploy a Contract
try {
  final deploymentResult = await sdk.deployContract(
    privateKey: 'your_private_key',
    contractName: 'MyWallet',
    contractCode: '''
      contract wallet with amount, address does
        deposit takes amount does
          save balance is balance + amount
          return balance
        .
      .
    ''',
  );
  
  print('Contract deployed at: ${deploymentResult.contractAddress}');
} on SmartContractException catch (e) {
  print('Deployment failed: $e');
}
Call Contract Functions
try {
  final callResult = await sdk.callContract(
    privateKey: 'your_private_key',
    contractAddress: 'contract_address',
    functionName: 'deposit',
    parameters: {'amount': 100},
  );
  
  print('Call result: ${callResult.result}');
} on SmartContractException catch (e) {
  print('Contract call failed: $e');
}

Advanced Usage

Custom Server Configuration

You can configure custom server URLs for both ECDSA and contract services:

final sdk = SmartContractSDK(
  ecdsaServerUrl: 'https://your-ecdsa-server.com',
  contractServerUrl: 'https://your-contract-server.com',
);
Error Handling

The SDK provides a custom SmartContractException for detailed error messages:

try {
  // SDK operations
} on SmartContractException catch (e) {
  print('Operation failed: ${e.message}');
} catch (e) {
  print('Unexpected error: $e');
}
Response Types
DeploymentResult
DeploymentResult {
  String contractAddress;    // The deployed contract's address
}
ContractCallResult
ContractCallResult {
  bool success;             // Whether the call was successful
  dynamic result;           // The function call result
}

Example Project

Check out the example directory for a complete sample project that demonstrates the features of the SDK.

Contributing

Contributions are welcome! If you encounter a bug or want to suggest a feature:

  1. Check existing issues and pull requests
  2. Create an issue to discuss the change
  3. Submit a pull request

Please read CONTRIBUTING.md for details on our code of conduct and development process.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Simplicity Block GitHub avatar
GitHub 작성자

Simplicity Block ↗

Simplicity Blockchain: It's designed so anyone can effortlessly learn how blockchain works.

언어C++CMakeDartSwiftCHTMLKotlinObjective-C

사용 중인 의존성

의존성 목록 4 개

  • flutter{"sdk":"flutter"}
  • http^1.1.0
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^2.0.0

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗