Using Algorand to access external data

I’m working on a project where a blockchain can access external resources (like calling a web service) without any security limitations. I decided to use the go-algorand repository as a starting point to implement this. However, the repository is quite complicated itself and I’m having a hard time figuring out where I can start. Could someone help me out?

The main idea is that block i would use the hash of block i-1 to perform consensus. The external request will be sent during consensus. After that, the transactions will be executed and the hash of block i will be computed, and used for block i+1. And this process goes on.

I doubt this is doable… if you want to put information from the external world to the smart contract execution, just put this information with some transaction to the network and you can work with this information in the consensus phase

If you modify the consensus and create a completely different blockchain, I guess you may do it.

But you may hit many issues:

  • What if the resources give different responses to different nodes?
  • What about the increased latency?

Have you tried to follow the steps in the README to compile the code?

I recommend starting from the rel/stable branch.

1 Like

Would it not be possible to send a request for required info rather than inputting the info?

I did follow the steps to compile the code. Thanks for your suggestion!

simply put… the block must be finalized in 2 seconds… other servers also has to verify the block… what if your server does not handle the requests fast enough? do you consider the blockchain to stop doing blocks in order to have your personal service running?..

I repeat… it is not doable… the doable way is to provide data to the blockchain and it cen read it ultrafast while block finalization…

is creating the cometition network to algorand doable solution for you? you would loose all algo owners and so on… @fabrice , is this even allowed? Can I create my own public algorand cochain?

1 Like