s5 0.2.0 copy "s5: ^0.2.0" to clipboard
s5: ^0.2.0 copied to clipboard

Use the S5 Network in your Flutter and Dart apps

S5 #

This package makes it easy to use the S5 Network APIs in your Flutter and Dart apps.

Features #

  • Runs a local S5 Node and connects to default nodes (can be configured)
  • Provides all S5 APIs (file, registry, message) with full integrity verification
  • Supports creating and restoring user identities and uploading to storage services

Getting started #

Install with dart pub add s5

Example #

import 'dart:convert';

import 'package:hive/hive.dart';
import 'package:s5/s5.dart';

void main(List<String> args) async {
  // Initialize the Hive data directory (not needed on web)
  Hive.init('data');

  // Create a S5 Node and API Client
  final s5 = await S5.create();

  // Download and deserialize a metadata CID
  final webAppMetadata = await s5.api.downloadMetadata(
    CID.decode(
      'z31rd7XSsfcDuuv716hjfbjitjCMRrfwPE24EWSuJntFKCdK',
    ),
  ) as WebAppMetadata;

  // Print all files of this web app with their CID and size
  for (final path in webAppMetadata.paths.entries) {
    print('${path.key} ${path.value.cid} (${path.value.cid.size} bytes)');
  }

  // Download one of the CSS files and print its contents
  final cssFileCID = webAppMetadata.paths['assets/css/default.min.css']!.cid;
  final bytes = await s5.api.downloadRawFile(cssFileCID.hash);
  print(utf8.decode(bytes));
}
1
likes
140
points
67
downloads

Publisher

verified publishersfive.net

Weekly Downloads

Use the S5 Network in your Flutter and Dart apps

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

hive, lib5, lib5_crypto_implementation_dart

More

Packages that depend on s5