Tezart helps to interact with ​Tezos blockchain.

Overview

Tezart

Dart env GitHub Actions Coverage with codecov.io

What it is

Tezart is a Dart library for building decentralized applications on Tezos blockchain.

Tezart interacts with a Tezos node to send transactions, interact with smart contracts and much more!

See the Quick start guide for more details.

Links

Feature requests and bugs

If you want to contribute to this project, read the code of conduct.

Feature requests and bugs at the issue tracker.

License

MIT

Special thanks

Thanks to Tezos Foundation for supporting this project.

Theses Tezos libraries have been great references, kudos to their maintainers:

Comments
  • TezartNodeError: got code unhandled with msg Unhandled error: null

    TezartNodeError: got code unhandled with msg Unhandled error: null

    When using https://teznode.letzbake.com/ for RPC and executing example. I get this error. TezartNodeError: got code unhandled with msg Unhandled error: null

    Although, I'm able to retrieve the balance properly.

    opened by AyushBherwani1998 4
  • Magic signer

    Magic signer

    Hi Tezart team, this is Jerry from Magic Link. 👋

    Per requests from our customers, we are trying to support Tezos on Flutter with our key management infrastructure. And your library has been recommended by our customers.

    However, within your implementation, there's been a challenge for us to integrate a remote signer from a third party like us. So I added a RemoteSigner param in Keystore to sign remotely, and I've tested it locally to make sure it works. The example will be documented on our docs.magic.link website

    Hope you can adopt this change, and I can guide our clients to use your awesome libraries with our Magic Auth. Please lmk if there's anything that I need to update. I'll make up the tests after you guys are agreeing on the implementation.

    opened by Ethella 3
  • Trying out the library and difficulty to execute an entrypoint call

    Trying out the library and difficulty to execute an entrypoint call

    Using a simple increment/decrement contract on hangzhounet (KT1QLqPN8us3LpgqSR9BgdF8bwJ8vJBjhfwV) The contract is found, as well as entrypoints, storage ... However I have not been able to execute an increment() call so far. Here is the code: Future increment() async { const String secretKey = "edsk..."; final source = Keystore.fromSecretKey(secretKey); var rpcUrl = "https://hangzhounet.api.tez.ie"; final client = TezartClient(rpcUrl); const contractAddress = "KT1QLqPN8us3LpgqSR9BgdF8bwJ8vJBjhfwV"; final rpcInterface = client.rpcInterface; final contract = Contract(contractAddress: contractAddress, rpcInterface: rpcInterface); final callContractOperationsList = await contract.callOperation( entrypoint: 'increment', params: 1, source: source, ); await callContractOperationsList.estimate(); // computes the counters, storage limits, gas limits and fees await callContractOperationsList.execute(); await callContractOperationsList.monitor(); }

    I got this error: ... I/flutter ( 8676): 2021-12-25 23:49:16.259955[INFO] - RpcInterface : request for forgeOperations [ chain:main, level:head] I/flutter ( 8676): 2021-12-25 23:49:16.260530[INFO] - RpcInterface : request for branch [ chain:main, level:head] I/flutter ( 8676): 2021-12-25 23:49:16.260718[INFO] - TezartHttpClient : request to get from path: chains/main/blocks/head/hash I/flutter ( 8676): 2021-12-25 23:49:16.925714[INFO] - TezartHttpClient : request to post to path: chains/main/blocks/head/helpers/forge/operations I/flutter ( 8676): 2021-12-25 23:49:18.189721[INFO] - RpcInterface : request for injectOperation [ chain:main] I/flutter ( 8676): 2021-12-25 23:49:18.189933[INFO] - TezartHttpClient : request to post to path: injection/operation?chain=main I/flutter ( 8676): 2021-12-25 23:49:18.418852[INFO] - Operation : request to monitorOperation opSz2QbwPvRz7Xu7mshvpxTMinjcUgsRpRkcFWG12MDihFvhZw2 I/flutter ( 8676): 2021-12-25 23:49:18.419441[INFO] - TezartHttpClient : request to get from path: chains/main/blocks/head I/flutter ( 8676): 2021-12-25 23:49:20.836868[INFO] - TezartHttpClient : request to get from path: chains/main/blocks/BMMAXD6o8CrareoHhdrS1JwAueH1J2toYr99mL5LrfRXxASkujB/operation_hashes/3 I/flutter ( 8676): 2021-12-25 23:49:23.286202[INFO] - TezartHttpClient : request to get from path: chains/main/blocks/BKksBHnmgyo61tsmySsj8M5a4UeXwVc2JkjLHQFBwfo3YsNYsKQ/operation_hashes/3 I/flutter ( 8676): 2021-12-25 23:49:58.009417[INFO] - TezartHttpClient : request to get from path: chains/main/blocks/BLH2Q86aVop56vuFSd9wK3y9XxT1bo3fBh3CUwpf1Wg26jzKpwQ/operation_hashes/3 E/flutter ( 8676): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: TezartNodeError: got code monitoringTimedOut with msg Monitoring the operation opSz2QbwPvRz7Xu7mshvpxTMinjcUgsRpRkcFWG12MDihFvhZw2 timed out. E/flutter ( 8676): #0 OperationsMonitor.monitor package:tezart/…/impl/operations_monitor.dart:41 E/flutter ( 8676): E/flutter ( 8676): #1 OperationsList.monitor package:tezart/…/impl/operations_list.dart:205 E/flutter ( 8676): E/flutter ( 8676): #2 _MyHomePageState.increment package:tezartdapp/main.dart:74 E/flutter ( 8676): E/flutter ( 8676):

    opened by brunolune 3
  • Unable to get to Docs

    Unable to get to Docs

    A few weeks ago I saw some great documentation tezart, but now the GitHub pages just shows the readme and only redirects to that?

    In great Need of referring to the docs

    opened by Sameerkash 1
  • Error: 'Uint8List' is restricted and can't be extended or implemented.

    Error: 'Uint8List' is restricted and can't be extended or implemented.

    I'm getting the following error while trying this :

    ../../../.pub-cache/hosted/pub.dartlang.org/pinenacl-0.2.1/lib/api/api.dart:24:7: Error: 'Uint8List' is restricted and can't be extended or implemented.
    class ByteList with ListMixin<int>, Encodable implements Uint8List {
          ^
    

    flutter doctor :

    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel beta, 2.5.0-5.2.pre, on Ubuntu 20.04.3 LTS 5.4.0-81-generic,
        locale en_GB.UTF-8)
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    [✓] Chrome - develop for the web
    [✓] Android Studio (version 2020.3)
    [✓] VS Code (version 1.60.0)
    [✓] Connected device (2 available)
    
    • No issues found!
    

    Possible suspect : breaking change in pinenacl-dart due to breaking change in dart-sdk

    opened by GSri30 1
  • How to generate same address with TrustWallet?

    How to generate same address with TrustWallet?

    I'm trying to get address by fromMnemonic, while the address is different with the one generated in TrustWallet using the same mnemonic.

    Is there a way to generate same address with TrustWallet by this great package? Thanks!

    https://github.com/moneytrackio/tezart/blob/main/example/example.dart#L28-L35

    final keystore = Keystore.fromMnemonic(mnemonic);
    print(keystore.address);
    
    opened by mekery 2
  • Manage errors while calling contracts

    Manage errors while calling contracts

    description

    L’erreur retournée doit explicitement indiquer le type d’erreur TezosNodeError (avec des types particulier) :

    • erreur réseau côté chaîne / injection (erreur 4|5xx côté RPC d’injection par exemple) ;
    • erreur au niveau transaction (balance insuffisante pour payer les frais par exemple, ou taille d’opération trop importante) ;
    • erreur lors de l’exécution du contrat ({{FAILWITH}}par exemple).
    enhancement 
    opened by Pierre-Michard 0
  • an unexpected error invalid signature is sometimes thrown

    an unexpected error invalid signature is sometimes thrown

    We sometimes see on tests and using the library in development an 'invalid signature' error from the node. The issue reproduces sometimes.

    Signing a transaction being a deterministic process, we need to investigate what causes the issue in order to fix it.

    bug 
    opened by Pierre-Michard 0
Dart client library to interact with Supabase Storage

storage-dart Dart client library to interact with Supabase Storage. Contributing Fork the repo on GitHub Clone the project to your own machine Commit

Supabase 22 Dec 14, 2022
A dart package to interact with the WooCommerce REST API.

WooCommerce SDK for Dart A dart package to interact with the WooCommerce API (now with null-safety). It uses OAuth1.0a behind the scenes to generate t

Samarth Agarwal 87 Dec 28, 2022
A simple and robust dart FTP Client Library to interact with FTP Servers with possibility of zip and unzip files.

Flutter FTP Connect Flutter simple and robust dart FTP Connect Library to interact with FTP Servers with possibility of zip and unzip files. Key Featu

Salim Lachdhaf 49 Dec 13, 2022
A simple and robust way to interact with Anilibria API.

anilibria.dart A simple and robust way to interact with Anilibria API. Example import 'package:anilibria/anilibria.dart'; void main() async { final

Arsenii Liunsha 3 Jun 13, 2022
meg4cyberc4t 11 Oct 24, 2022
A highly customizable Flutter widget to render and interact with JSON objects.

The spreadsheet with superpowers ✨ ! JSON Data Explorer A highly customizable widget to render and interact with JSON objects. Features Expand and col

rows 15 Dec 21, 2022
The deta-dart library is the simple way to interact with the services of the free clud on the Deta plataform.

Deta A Dart package to interact with the HTTP API of the free services of the Deta plataform. ?? WARNING ?? This client should only be used on the ser

Yeikel Uriarte Arteaga 6 May 2, 2022
Git+ is your ultimate GitLab mobile app that lets you interact with your projects like as if you were using desktop.

Git+ for GitLab Git+ is your ultimate GitLab mobile app that lets you interact with your projects like as if you were using desktop. Git+ lets you see

Marek Gvora 38 Jan 7, 2023
Open source Flutter-based GUI application that enables you to interact with Amphitheatre

Amphitheatre Desktop Amphitheatre Desktop is an open source Flutter-based application that enables you to interact with Amphitheatre using a GUI inste

Amphitheatre 17 Dec 16, 2022
constructing... Flutter, Ganache, Truffle, Remix, Getx Pattern, Infura, GetX, Blockchain

constructing... Flutter, Ganache, Truffle, Remix, Getx Pattern, Infura, GetX, Blockchain

Kauê Murakami 20 Dec 20, 2022
(Top 10 GDG Devfest 2021) Mobile Application to prove intellectual property rights using blockchain technology and NFT

brainshield A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Nguyen Minh Dung 4 Jan 12, 2022
Official Sonr Blockchain Node implementation with Frontend Clients to access Wallet.

Sonr Blockchain Sonr-Chain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve com

Sonr 625 Dec 29, 2022
Dart web3 - A dart library that connects and interacts with the Ethereum blockchain

dart_web3 A dart library that connects and interact with the Ethereum blockchain

p2bh 9 Sep 13, 2022
A blockchain based voting application built as a project for KJSCE Hack 6.0

Secure Vote A decentralized and transparent Blockchain-based voting application, built with Flutter, a Solidity Smart contract, Firebase and Infura as

Manas Gandhi 4 Nov 15, 2022
A mobile-responsive blockchain website built with flutter. NB: For educational purposes.

Excursy A mobile-responsive blockchain website built with flutter. Build flutter build web --web-renderer html --release or flutter build web --web-re

Bukunmi Aluko 10 Oct 25, 2022
Food Delivery on Blockchain

Food Delivery on Blockchain This research is an application development to increase the reliability of food delivery businesses. By applying proven an

null 0 May 19, 2022
Basic todo mobile application built on top of the ETH blockchain with Flutter, Truffle and Ganache.

Todo-DAPP This project is a basic mobile Todo App build with Flutter. The backend consist in a Solidity contract running on the Ethereum Blockchain. C

Lorenzo Gangemi 2 Sep 28, 2022
MedRec: Using Blockchain for Medical Data Access and Permission Management

MedRec Medical records need innovation. Patients leave data scattered across various jurisdictions as life events take them away from one provider’s d

Abhishek Kumar 4 Sep 14, 2022
DeFi Scan - Mobile BlockChain Explorer app for cryptocurrency accounts.

DeFi Scan This is the official repository for DeFi Scan - a mobile blockchain explorer built with Dart/Flutter for searching, curating and storing det

Ayodeji Olabisi 4 Dec 20, 2022