agent_dart 0.1.15+1 copy "agent_dart: ^0.1.15+1" to clipboard
agent_dart: ^0.1.15+1 copied to clipboard

outdated

An agent library built for Internet Computer, a plugin package for dart and flutter apps. Developers can build ones to interact with Dfinity's blockchain directly.

example/lib/main.dart

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import 'counter.dart';
import 'init.dart';

void main() {
  print(Platform.environment["_"] == null ||
      (Platform.environment["_"] != null &&
          Platform.environment["FLUTTER_ENGINE_SWITCH_1"] != null));
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  int _count = 0;
  bool _loading = false;
  String _status = "";

  late Counter _counter;
  final _scaffoldKey = GlobalKey<ScaffoldState>();

  @override
  void initState() {
    super.initState();

    initCounter();
    loading(true);
    readCount();
  }

  void initCounter() {
    _counter = AgentFactory.create(
      canisterId: "r7inp-6aaaa-aaaaa-aaabq-cai",
      url: "http://127.0.0.1:8000", // For Android emulator, please use 10.0.2.2 as endpoint
      idl: idl,
    ).hook(Counter());
  }

  void loading(bool state) {
    setState(() {
      _loading = state;
    });
  }

  void readCount() async {
    int c = await _counter.count();
    loading(false);
    setState(() {
      _count = c;
    });
  }

  void increase() async {
    loading(true);
    await _counter.add();
    readCount();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        key: _scaffoldKey,
        appBar: AppBar(
          title: const Text('Dfinity flutter Dapp'),
        ),
        body: Center(
          child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
            Text(_loading ? 'loading contract count' : '$_count'),
            Container(
              height: 30,
            ),
            Container(
              height: 30,
            ),
            Text(_status.isEmpty ? "Please Login 👆" : _status),
            Container(
              height: 30,
            ),
          ]),
        ),
        floatingActionButton: FloatingActionButton(
          child: const Icon(Icons.add),
          onPressed: () async {
            increase();
          },
        ),
      ),
    );
  }
}
21
likes
0
pub points
67%
popularity

Publisher

verified publisherastrox.io

An agent library built for Internet Computer, a plugin package for dart and flutter apps. Developers can build ones to interact with Dfinity's blockchain directly.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

archive, args, bip32, bip39, cbor, collection, convert, crypto, ffi, fixnum, flutter, http, path, pinenacl, pointycastle, protobuf, recase, tuple, typed_data, uuid, validators

More

Packages that depend on agent_dart