All - Activity - tsachi - Algorand

Contract-to-contract calls only possible between v6 contracts - not backwards compatible?

It’s required in order to ensure the callee would be designed to support being called by other contract. ( otherwise, there could be exceptions where this would defeat existing contract’s security attributes ).

What causes this error

Yes. A delayed transaction can cause that - but please note that were referring to a pretty long time here. I.e. in the order of hours. Alternatively, you might have your transaction being created by a node that wasn’t caught up… which explains the large rounds gap.

Algorand Catchpoints

The reasoning for the tree-directory structure under the “catchpoints” file is that on certain file systems, storing large number of files in a single directory makes the access time slower. This is not the case when you have several tens or hundreds of files, but it’s definitely the case when the …

No - it won’t expose your node in any way. The only way for you to “expose” is to have your relay listed as one of the SRV records. As long as that’s not the case, consider this to be your own private relay…

Admittedly, there is a way to catchup from an archival node. But you’ll need to do some tweaking: Configure the node as a relay by setting the NetAddress field. Once a catchpoint file is generated, you’ll be able to observe the catchpoint label in the “goal node status”. Then, when starting the node …

Token Lock Examples

All correct beside the “reevaluate” portion - it’s never get reevaluated. The transaction content is being reevaluated - i.e. first valid/last valid / payer has enough money / receiver has more than min balance, etc, but the logic sig is evaluated exactly once. Depending on the implementation, some…

Sure. An incoming transaction ( regardless of the source ), would first go through a signature verification. Once it’s found to be a (potentially) valid transaction, it will be attempted to be placed on the transaction pool. When attempting to place it on the transaction pool, it would get evaluated …

Community driven verified tokens

The “shibainu test” refers to the promotional model of that coin ( per it’s own white paper ). The idea was to get a very large set of individuals ( i.e. army ) that would work on promoting the coin regardless of it’s functionality ( i.e. none ). I don’t know how many verified fake tokens are there…

The statefulness of a contract is important, since it’s playing a role in the scaling of the platform. When you send a logicsig transaction, the logic signature is evaluated once, and then placed into the transaction pool. Several rounds later, the local node could be elected to propose a block.

While this is an interesting idea, the node is not designed to work that way. Catchpoint files are stored under testnet-v1.0/catchpoints, and the relay node knows how to stream these to the node. The node request a catchpoint file from the relay by providing the round number only. It uses the hash…

Documentation on State Proofs

No, it’s not enabled yet on betanet. Betanet is supposed to be one step before testnet/mainnet, but enabling the feature there implies that the pipeline ( master - betanet - mainnet ) would be blocked until mainnet reachs the desired participation key update threshold. Instead, it would remain dis…

The feature is not yet enabled. Before the feature would get enabled, the participation keys on the network need to be regenerated. I don’t know how long it would take… since it’s up to the node runners to renew their participation keys.

Limit of 10 Applications per account will change?

That was already implemented and it’s currently scheduled for the next release. It would likely to hit mainnet within a month.

Betanet with catchup

thanks for checking!

Could you please check what binary version you’re using, as well as operating system ? i.e. algod -v Also, do you have any participation keys on the node ?

Treat ALGO like an asset in the SDK to simplify a lot dApp development

The reason the SDK wasn’t implementing it as a single transaction is because of the underlying protocol. When implementing the SDKs, the primary goal was to clearly expose the core functionalities without introducing any higher-level logic. Fabrice gave a good example with the asset sender here. I d…

Archival Node Configuration - Behaviour of algod REST API

Once you switch the configuration from archival into a non-archival, the node would delete the old information on the subsequent restart. The archival/non-archival doesn’t directly change the way the REST API works. The REST API would give you the information that the ledger currently maintain. In …

global LatestTimestamp is 0 in when debugging from dryrun txn

@casper , yes I know that the tealdbg is a great tool for debugging. I just wanted to make sure you’re aware of other means to verify the correctness of your smart contract. Would it be better if it was “just working” ? Probably. I think that what you’re after is not a dryrun debugger ( tealdbg ) …

“No way to debug” is a pretty strong statement. Don’t you think so ? How’s about sending transactions to testnet, and examining the blocks, or even better - using local private network, or a sandbox ?

Just a guess : maybe that’s a limitation of dryrun, and it would work correctly on mainnet ?

Query local state of a certain account from an application

The api you’re mentioning is currently under development and is slated for the late march consensus release.

NFT drop : delayed release

I am unaware of a way to perform any type of delayed operations on the blockchain. You’d need some sort of an external agent that would send the transactions to “unlock” the content of the NFTs when time comes.

For security reason, it should not be possible to sign a transaction in a group individually

Yes, I agree that the signing software should give the end user to view all the transactions. In fact, it should highlight any request for signing of a transaction that contains the grouphash without showing and verifying the entire group. ( i.e. conducting the test to ensure that the hash of the e…

That’s not true. A transaction in a group contains a group hash that is being signed upon. It’s true that having this hash doesn’t let the signer know what the other transactions are, but the signer can avoid signing the transaction if it’s unable to verify the group hash against the reminder of th…

Getting error while building node from source

Did you follow the README.md instructions ?

My Algo Wallet: Help

The mnemonics are the same regardless of the wallet you’re using. ( you’re correct in that they doesn’t have to be the same; however, all the Algorand wallets I’m aware of are )

I believe that there was a python script mention on this forum that was able to break one or two missing words within a reasonable amount of time. Try to search for “lost mnemonic”

Be careful sharing the 25 words… these would give anyone full control of your account.

Private network - node accessible from another VM within network or remotely?

Changing the EndpointAddress should make your node listen on the provided address. Please make sure to restart the node after making changes to the config.json file.

Algorand development challenges

Regarding the floating points support - The main issue with supporting floating points is that the hardware implementation for these tend to be non-deterministic. This limit the AVM from using these hardware instructions. The method that you’ve taken ( multiplying by a constant ) is a very common…

What is the database used to write the ledger records?

The real solution here is not to make an archival node “lighter” but rather find ways to avoid requiring the archival node at all. The indexer, for instance, requires the archival node only during bootstrapping. After that, querying the latest blocks would suffice. Is that answer your question ?

Deadlock Detection in algod config?

It’s a developer option for testing long blocking mutexes. I’d leave this with its default value.

Yes, it would not be a bad thing to disable it. It’s used for debugging the agreement protocol, which I don’t believe you’re working on.

What's the minimum Technical Requirements for a Relay Node?

The main repository is GitHub - algorand/go-algorand: Algorand's official implementation in Go.

Algod syncing very slowly

Regarding _archive._tcp.mainnet.algorand.network, yes, this is expected. It’s part of the algod support for block archivers, which have not been enabled yet. The only negative consequence is that your node might be emitting these benign log messages from time to time. As for your hardware spec, I s…

I haven’t seen anything bad going on there… could you share with the forum what type of storage and compute you’re using ?

This topic was opened more than 2 years ago. Clearly, the functionality of the algorand network and the transactional load have changed significantly since. As was mentioned recently, algorand is working on improving the network throughput. This would clearly have some sort of an impact on the underlying…

Could you post here the latest 50 lines from the node.log file that contains the word ‘catchup’ ?

Regarding the IsIndexerActive : You’d like to set it to false. This option is practically deprecated. Also, if the catchup is making any progress, then leave the DNS messages alone; that’s not the droid you’re looking for.

Guarantee Execution Order of Transactions

Yes, @fabrice is correct, of course. My method is not secured enough for any mission-critical application. Usage of local/global state could help resolve these issues.

Officially, no - there is no way to enforce that. But there is a trick I’ve used before: On txn group 1, move 5 algo to acct A.( new account ) On txn group 2, move 5 algo from acct A to itself. The second txn group would fail if the first one didn’t take place.

Porting a traditional financial asset on Algorand

The challenge you’re having here is neither unique nor special. You’re trying to transition from an existing set of technologies onto a different one ( blockchain ). One question that I have for you is this: what is the fastest communication time you would need between two trusting parties? Blockc…

Why to run a node?

As long as you don’t interact with the network frequently, no - there are no gains for running a node. However, if you send lots of transactions, and you want to make sure that your transactions get the highest priority getting onto the network, running your own node would do that. Also, running a…

Algorand Catchpoints

Catchpoint label is the text “18630000#7K5346GSYMSQ7OA6IVNCRRGS5YLJPNBFUYNDQOBAQ6I4CW4OTUEQ”. A catchpoint file is a large file, containing all the accounts for a given round. When you perform a fast catchup, your node downloads the catchpoint file from one of the relays and confirms it matches the …

The alpha numeric character sequence after the “#” character is the hash of the accounts database that corresponds to the round number provided before the “#” character. If you’re running a non-archival node, you can set the CatchpointTracking in the config.json file to 1 in order to enable your n…

How is the price of an ASA token determined?

My answer above wasn’t ASA specific. The source could be ASA specific: Tinyman, algodex and for wrapped bitcoin/eth, it could be the price from coinmarketcap, kucoin, coinbase and binance.

I believe you won’t find the answer to that question on chain. The price of a commodity is determined by how much people are willing to pay for it. The “willing” part might not have happened yet, and therefore, there might be no evidence of that. Price oracles usually use a combination of sources, com…

goal asset create command doesn't allow you to specify addresses? (manager, freeze, clawback, reserve)

Hi, This is a current limitation of the goal utility. I believe that you’re correct - the default for all the above 4 is the creator address, and unfortunately, it’s not configurable.

Question about note fields in AssetTxns

To add to what @cusma wrote, the LatestTimestamp is the timestamp that is taken from the previous block header ( i.e. that last block that was agreed upon ). It’s the proposer who sets this value; this value has two limitation: it must be monotonic growing. it must be at most 25s greater than the…

Node syncronization time

Yes, with the node stopped, it is safe to backup the data directory and (potentially) restore it to a different machine. At this time, it is possible to do that even across different platforms, however, I would advise against relying on that “undocumented capability”. One thing to note is that the …

How many ALGO to run a Participation Node

The content of the node.log file makes it look as if the node does work - otherwise, it wouldn’t perform the catchup. Could you verify that ALGORAND_DATA points to the expected data directory? echo $ALGORAND_DATA (I’m trying to make sure you don’t have two installations) also, the process itself…

Let me answer the questions that you’ve brought up:

node stop doesn’t work.

yes, you did the right thing by running sudo systemctl stop algorand

sudo systemctl start algorand

I’m not sure what you mean by “But fails to come up.”. If the node could not start, it would emit some errors to either…

According to what you’ve provided above, it looks like algod is being executed using the algorand user. The permissions for the mainnet-v1.0 are for the kalgo user. I would guess that the Debian installer was configuring this to run as a service, which implies there would be a system. My suggestion…

There could be more than a single issue, naturally, but the ones that look the most promising are: Could not refresh participation keys: AlgorandFullNode.loadPartitipationKeys: could not read the directory /var/lib/algorand/mainnet-v1.0: open /var/lib/algorand/mainnet-v1.0: permission denied

Question on Accounts and nodes

No. There is no way to track the source of the transaction unless the originating node was placing some type of tracking information within the transaction itself.

Two common reasons why your node wouldn’t show you the correct balance: your account doesn’t have the said balance. You can check it with any Algorand block explorer, such as algoexplorer.io. Your local node isn’t synchronized with the network. You can check the status of your node by typing “goal…