Forschungsthemen
[BA] Contract to Contract Calls for Financial Applications in Algorand
Contract to Contract calling is an important approach for upgradable smart contracts in the on-chain programmable ledger. In blockchain technology, attributes (variables) and methods (behaviors) should make a transaction in the blockchain network, which is called on-chain programming. Once a smart contract is deployed, it cannot be upgraded because the smart contract code is stored as immutable ledger data. Therefore, when a new version of the smart contract is deployed, it will be assigned a different address. At this point, we need to use an upgradable contract that can connect to the new contract with a new address. Algorand smart contracts support mainly off-chain transactions between accounts without a stateful contract. However, it is also possible to use a stateful contract within a customized virtual machine. A contract can call another contract in order to provide extendable and scalable smart contract applications. The separation of concern principle can also be implemented in various smart contracts so that multiple contracts can hold different application logic in a blockchain system. Use case: A simple banking application can be planned. A transaction smart contract can call a money transfer smart contract that consists of execution behavior. Consultant and customer smart contracts can be associated with a bank smart contract, and they can use the transaction contract to create a transaction with the bank smart contract. In the end, we can see all the occurred transactions in the Algorand network with the Algorand Block Explorer. For the tech stack, this thesis can be implemented with Pyteal or Reach-sh language in the Algorand development environment. In this study, we are looking for answers to the following research questions (RQs).
- RQ 1: Can we send grouped transactions by contract to contract calling?
- RQ 2: Can we implement upgradable smart contracts through contract to contract approach in Algorand?
- RQ 3: What are the drawbacks and advantages with regard to implementing upgradable smart contracts in Algorand?
Betreuer: Orçun Oruç