Newbie from a Fixed Instrument trading platform, questions before I get started

hi, I find algorand very intriguing.

background, come from a mostly Corda , some Fabric background. We develop a Fixed Instrument trading platform for over 20 years now, do everything but a lot of repos, mortgage backed securities, big banks, broker/dealers, REITs etc

I will be exploring all the docs and tutorials available. However, I thought I would first ask some questions to guide us:

  1. Can one create private chains with Algorand ?
  2. I understand that one can code with Java but is it possible to code with JVM languages such as Groovy.
  3. Related question , can Smart contracts be coded in Java, JVM languages, Python ?
  4. Can one interface with Algorand via an rpc mechanism ? Rest-ish api ?
  5. How easy would it be to setup a total , quickly reproducible test environment e.g. within Ubuntu ? i.e. including a test network which would obviously not incur transaction costs.
  6. does the testnet incur transaction costs
  7. how can one estimate deployment costs ?

Finally given what we specialize in , is there anything i.e. docs, tutorials , resources, blog posts that would be of interest.

I truly appreciate the feedback.

thanks

Welcome to Algorand!

  1. Yes, you can create private networks. Currently such private networks would be completely independent of the main chain. However, co-chains will in the future allow to create private networks that can communicate with MainNet. See https://www.algorand.com/resources/blog/algorand-co-chains.
  2. I believe any JVM language could work.
  3. Currently, layer-1 smart contracts are written in a new language called TEAL. There is a Python wrapper (PyTEAL) that simplifies writing TEAL scripts. However, it is important to understand that TEAL is not a Turing complete language and the way to program smart contracts on Algorand is quite different from other blockchains such as Ethereum. See Algorand Developer Docs for details. There also exists a higher level language: https://reach.sh/, that is inspired by JS. Finally, there will soon be layer-2 smart contracts that will look more like Ethereum smart contracts, albeit using a language that is less error-prone than solidity and most importantly not slowing down the main chain even for slow smart contract operations. See https://www.algorand.com/resources/blog/algorand-smart-contract-architecture
  4. Algorand provides REST APIs. The SDKs use these REST APIs. Also note that Algorand provides an indexer (also REST API) that significantly simplify the process of querying the blockchain: Algorand Developer Docs
  5. For development purposes, it is three command lines:
    git clone https://github.com/algorand/sandbox.git
    cd sandbox
    ./sandbox up
    
    see GitHub - algorand/sandbox: Algorand node sandbox
  6. TestNet has exactly the same fee structure than MainNet. But you can get Algos (the cryptocurrency of Algorand) for free through the dispenser https://bank.testnet.algorand.network/. Note that the fees on Algorand are extremely low: 0.001 Algo for each transaction if there is no congestion (and to my knowledge, there never has been congestion since the start of MainNet)
  7. I think it hugely depends on the use case, whether you are running your own network or not, whether you are running your own node or using an API service, … That being said, if you were to use MainNet, you will realize that the fees are so much lower than, e.g., Ethereum.

The developer portal https://developer.algorand.org contains a huge amount of information, articles, tutorials. You can start with Algorand Developer Portal

1 Like

First of all, thank you for your detailed reply.

Just some clarifications if you don’t mind:

  1. From my perspective/understanding I would think I would want to be solely on a private network i.e. disconnected from the Mainnet, of course I like flexibility so co-chains sound interesting.
  2. I’m not a fan of Solidity in the least and frankly I"m much more familiar with writing Smart contracts in Kotlin i.e. on Corda. My fear with these higher level language built for these specific purposes is that debugger support is not very adequate. Which reminds me that I did not ask a critical question and that is what debugger support is there for Smart contracts and secondarily what IDE support. I do understand that there’s apparently an Algorand Studio IDE which I have not had the chance to check out as yet.
  3. Glad to know transaction fees are low but if 1 Algo is worth a million bucks it still adds up :slight_smile:

thanks again , I will follow thru with the Algorand Developer Portal

  1. Algorand has a TEAL debugger which you can checkout here: https://developer.algorand.org/docs/features/asc1/debugging/

In this video we walk through smart contracts and show the debugger.

Also take a look at this video: Debugging an Algorand Smart Contract - YouTube

You also have a great IntelliJ IDE plug-in here: Making Development Easier with AlgoDEA IntelliJ Plugin | Algorand Developer Portal