This app is a block-chain based voting system app which uses the ethereum's ropsten testnet to perform transactions.
AS OF 13-04-22, THIS PROJECT IS FUNCTIONAL.
app/src/main/java/com/kenetic/blockchainvs/contract_classes/VoteContractDelegate.kt
app/src/main/java/com/kenetic/blockchainvs/contract_classes/contract_auto_generate/ContractAutoGenTesting.java
app/src/main/java/com/kenetic/blockchainvs/contract_classes/contract_auto_generate/ContractAutoGenOriginal.java
This file contains the function encoders for state changing functions. These were generated to counter faulty web3j functions which were unable to perform state changing transactions on the Test-Net servers -
app/src/main/java/com/kenetic/blockchainvs/contract_classes/AlternateTransactionHandler.java
app/src/androidTest/java/com/kenetic/blockchainvs/ExampleInstrumentedAlternateTransactionHandler.kt
The link to the repository with the contract and the generated wrappers are here
Here, the user can sign up using their email and phone number. This page is for demo purpose only, programatically it doesn't create an account remotely yet. However, it does store the details locally.
this is the login screen, use the regustered email and password to login to the account. The sign Up process is discussed later on.Login can also be done using fingerprint if the option is enabled.
here, you can find the options for the account settings such as
Log In
,Log Out
,Sign Up
,Remove Account
,Switch Account
. Below this you will find theContract Interface
. This will be discussed later on.
This page requires you to be signed in. Sign-in in can be done using either the regisered email and password, or your fingerprint of enabled. Once signed in, you can Access the entire solidity contract which has already been set up in the ropsten test network. Transactions that require a fee will ask for fingerprint verification. The
Add Me To Voter's List
is a test option only. Performing that action would independently change your account's status to that of one that has performed votiing.
performing a transaction also requires a fingerprint. Once that is done, the user can thenwait for the transaction to be performed. Once that is done, a receipt is genarated.
Once the receipt is generated it is stored into the app's database. It can then be viewed from the app's mainscreen whenever required.
This is the transaction receipt generated by the etherscan website after the transaction is complete.