Git Product home page Git Product logo

algokit's Introduction


Welcome to the AlgoKit Developer Universe repo, the one-stop shop for all AlgoKit related repositories and information

AlgoKit CLI

PyPI - Downloads GitHub Repo stars

AlgoKit CLI is the one-stop shop tool for developers building on the Algorand network.

AlgoKit gets developers of all levels up and running with a familiar, fun and productive development environment in minutes. The goal of AlgoKit is to help developers build and launch secure, automated production-ready applications rapidly.

Repo | Quick Start Tutorial | Documentation

Note

By using the AlgoKit cli you will use all the below listed packages, no need to install them separately

Algorand Python

Algorand Python is a semantically and syntactically compatible, typed Python language that works with standard Python tooling and allows you to express smart contracts (apps) and smart signatures (logic signatures) for deployment on the Algorand Virtual Machine (AVM). See how to get started.

AlgoKit Utils

A set of core Algorand utilities available in both Python and TypeScript that make it easier to build solutions on Algorand.

The goal of this library is to provide intuitive, productive utility functions that make it easier, quicker and safer to build applications on Algorand. Largely these functions wrap the underlying Algorand SDK, but provide a higher level interface with sensible defaults and capabilities for common tasks.

Python

PyPI - Downloads

Repo | Documentation

TypeScript

npm

Repo | Documentation

Client Generators

This project generates a type-safe smart contract client in both Python TypeScript for the Algorand Blockchain that wraps the application client in AlgoKit Utils. It does this by reading an ARC-0032 application spec file.

Python

PyPI - Downloads

Repo | Examples

TypeScript

npm

Repo | Examples

AVM Debugger

The AlgoKit AVM VS Code debugger extension provides a convenient way to debug any Algorand Smart Contracts written in TEAL more info

TestNet Dispenser

The AlgoKit TestNet Dispenser API provides functionalities to interact with the Dispenser service. This service enables users to fund and refund assets, testnet Algos only for now. Documentation

algokit's People

Contributors

aorumbayev avatar loedn avatar robdmoore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

algokit's Issues

Receive `algosdk.error.AlgodHTTPError: TransactionPool.Remember: txn dead: round 11 outside of 0--10`

Summary:

Receiving algosdk.error.AlgodHTTPError: TransactionPool.Remember: txn dead: round 11 outside of 0--10 after making more than 10 transactions

Am I hitting the rate limits or encountering node-specific restrictions that might affect transaction processing?

The error:

Traceback (most recent call last):
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/v2client/algod.py", line 104, in algod_request
    resp = urlopen(req)
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/local/python/3.10.13/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/workspaces/codespace_algorand/main.py", line 78, in <module>
    setup_and_transfer_asset(receiver_acct, i + 1)
  File "/workspaces/codespace_algorand/main.py", line 63, in setup_and_transfer_asset
    algorand.send.asset_transfer(
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algokit_utils/beta/algorand_client.py", line 206, in <lambda>
    self.new_group().add_asset_transfer(params).execute()
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algokit_utils/beta/composer.py", line 716, in execute
    return self.atc.execute(client=self.algod, wait_rounds=wait_rounds)
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/atomic_transaction_composer.py", line 862, in execute
    self.submit(client)
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/atomic_transaction_composer.py", line 725, in submit
    client.send_transactions(self.signed_txns)
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/v2client/algod.py", line 430, in send_transactions
    return self.send_raw_transaction(
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/v2client/algod.py", line 358, in send_raw_transaction
    resp = self.algod_request("POST", req, data=txn_bytes, **kwargs)
  File "/usr/local/python/3.10.13/lib/python3.10/site-packages/algosdk/v2client/algod.py", line 111, in algod_request
    raise error.AlgodHTTPError(e, code)
algosdk.error.AlgodHTTPError: TransactionPool.Remember: txn dead: round 11 outside of 0--10

Info:

algokit, version 2.0.3
Executed on localnet

Expected Behavior:

The program should be able to create and send assets to three receiver accounts.
The program executed fine if the amount of transactions were below 10 (two receivers), but failed after 10 transactions (three receivers).

Snippet of code:

# Function to setup and transfer asset to a receiver account
def setup_and_transfer_asset(receiver, n):
    # Fund the receiver account
    algorand.send.payment(
        PayParams(
            sender = dispenser.address,
            receiver = receiver.address,
            amount = 10_000_000,
        )
    )
    print(f"Receiver {n} account BEFORE: {algorand.account.get_information(receiver.address)}")

    # Opt-in to the asset
    algorand.send.asset_opt_in(
        AssetOptInParams(
            sender = receiver.address,
            asset_id=asset_id,
        )
    )

    # Transfer the asset
    algorand.send.asset_transfer(
        AssetTransferParams(
            sender = creator.address,
            receiver = receiver.address,
            asset_id = asset_id,
            amount = 111,
        )
    )

    print(f"Receiver {n} account AFTER: {algorand.account.get_information(receiver.address)}")

# Create and setup three receiver accounts
for i in range(3):
    receiver_acct = algorand.account.random()
    print(f"Receiver {i+1} address: {receiver_acct.address}")
    setup_and_transfer_asset(receiver_acct, i + 1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.