Assalamualaikum my fellows I hope you will be fine by the grace of Allah. Today I am going to participate in the steemit learning challenge season 22 week 5 by @alejos7ven under the umbrella of steemit team. It is about Exploring the Steem Keychain. Let us start exploring this week's teaching course.
Create a simple app to make transfers using Steem Keychain
I tried my many times to use Steem Keychain but it did not work for me then according to the suggestions of the teacher I used WhaleVault. The working with the whaleVault was different because of different function to send request of transfers.
I added password at this screen.
I started adding my account as you can see here. After clicking on add account I saw this screen where I selected the Steem blockchain and at the next field I entered username. I have hidden my keys due to security reasons.
My account is now added in the WhaleVault and now it will fetch the transactions for the steem blockchain.
Now let us move towards the creation of the simple transfer application which will be operated through the WhaleVault.
First of all I have created a simple form like application which accepts the input from the user where the name of the sender, receiver, the amount of the STEEM or SBD is taken from the user. I have used radio button to choose the currency from STEEM and SBD.
I applied CSS to make the application more attractive and beautiful. The application is now looking beautiful. All the labels are aligned with the input fields. And the radio buttons are also aligned in this way. At the end there is a submit button which initiates the transaction.
Here is the main code which controls the logic of the application. It controls the sender and the name of the receiver and then it handles the input amount of the Steem or SBD and then after collecting all the data from the form it generates a transfer request which it proceeds to the whalevault and then the transaction is carried out.
This script integrates with the WhaleVault browser extension for safe handling of blockchain-based transfer transactions. It checks if WhaleVault is properly initialized by looking for the existence of the window.whalevault
object and its requestSignBuffer
method. If the extension is not installed or inactive it alerts the user to set it up properly.
The script captures transfer form submissions to prevent default form submission from forwarding the transaction in WhaleVault. It then ensures that all required user inputs like the sender, receiver, amount being transferred, the type of token, and a memo field in case of the user are included. The code checks if the submission has a lack of a certain input that the submission is then passed back to be completed.
Once the inputs are sanitized, the script generates a blockchain operation for a transfer. This consists of things like who the sender is and who the recipient is, the formatted amount with three decimal places, the type of token, and a memo. It then encodes the API endpoint information into parameters and passes this to WhaleVault.
This is done with WhaleVault's requestSignBuffer
function to request that the user sign a transaction authorizing it to complete. This will include signing parameters as well as contextual information with respect to what's being operationally performed and a response of this request as determined by what kind of detail it provides concerning success, canceling, or failing the operation itself. This all ensures private keys are maintained in the safety of WhaleVault as well as safe blockchain transfers by allowing users easy transaction completion steps.
The output of the application is attached where the working of the application can be seen live. I have performed transfer of STEEM in the first transaction to the account made by the teacher for the usage of the testing purposes. After the successful transaction it shows a message that the transaction is successful.
This is the proof of my transaction that the app successfully transferred the amount of STEEM.
In the second time I have performed transfer transaction for the SBD. I did not have SBD in my wallet so the transaction was not successful. It gave an error for the transaction.
Select one of these ideas to develop a final project.
I will be developing a Blockchain Activity Monitoring system for my final project. In this project, I will try to create a strong tool to track and monitor the key activities on the blockchain, such as wallet transactions, influencer accounts, and token flows. It will help the users understand the blockchain ecosystem by giving them real-time, data-driven insights to navigate through the same.
This project will allow users to track important trends, observe token movements, and analyze community engagement, which will add to a better understanding of blockchain dynamics. Here are some reasons how this project will benefit the steem community:
This Blockchain Activity Monitoring system offers multiple benefits to the community, promoting transparency, security, and accountability within the blockchain space.
Transparency: It will let the users know what the influential accounts, token holders, and high-profile projects are doing. Users can follow wallet transactions and other significant blockchain events, and it will make them understand how assets are flowing and how influential key stakeholders are. This will help users in making better decisions while interacting with the blockchain.
Audit Trails: Businesses, auditors, and regulatory bodies will receive valuable audit trails within this system in the form of a detailed record of blockchain transactions that is trustable. Traceability and analysis of specific transactions ensure that any action performed within the blockchain environment is traceable and accountable to the relevant bodies. This characteristic will be essential for compliance purposes and regulatory obligations.
Security Alerts: This is one of the core functionalities of the system. The system will alert the users in real-time if any unusual patterns occur, such as large value transfers, voting manipulation, or suspicious behavior from some accounts. It will prevent the chances of fraud and hacking attempts and other malicious activities within the blockchain environment, hence making it highly secure.
The development of the Blockchain Activity Monitoring system will follow a systematic approach to ensure its success. The steps involved are:
Define Key Metrics: The first step will be to clearly define which blockchain activities need to be tracked, such as wallet movements, specific transactions, and account behaviors. This will involve collaborating with stakeholders to determine the most relevant metrics and ensuring they align with community needs.
Integrate with Blockchain APIs: To track blockchain events, the system uses existing APIs and methods, such as
streamOperations
. It has the following functionalities: tracking real-time events on the blockchain that concern a specific account or transactions and all the other very important activities.Real-time Monitoring Tools Development: The system will be enabled with real-time monitoring tools such as dashboards and visualizations to represent the tracked metrics. Users will be able to view these insights through a user-friendly interface, making it easy to spot trends and monitor key blockchain activities.
Data Storage Implementation: For complete analysis and reporting, the system will include data storage solutions. Historical blockchain data will be logged and stored in a database, and users will be able to access and analyze trends over time. This will allow for advanced reporting and detailed analytics on blockchain activities.
Alert Mechanisms: Apart from monitoring, the system will enable users to configure alert mechanisms based on customizable settings. Users will be notified according to specific conditions, such as suspicious large transactions, irregular voting patterns, or changes in wallet balances. The alerts will make it possible for users to take appropriate action at the right time.
Development of user interface: This project will consist of the UI that will be designed keeping in mind the end-user, a user interface that is intuitive, responsive, and easy to navigate, so that the users can filter and view data that matters most to them, without being overwhelmed by complexity.
Testing and Optimization: Prior to deployment, the system shall be subjected to rigorous testing to validate its accuracy and efficiency in performance. It will be tested on various conditions ensuring that it could handle large amounts of data, yet maintain a real-time pace. Security also comes into consideration by having strong protective measures against any misuse and leakage of user data.
Rollout and Community Feedback: After development and testing, the system will be deployed for public use. The system will receive user feedback about the areas for improvement during this phase. A feedback loop would be in place so that the system can be developed over time to fulfil the needs of the community and provide continued value.
The Blockchain Activity Monitoring project will highly value the blockchain community by allowing transparency, security, and decision-making based on data. Real-time insights regarding the activities performed by users, businesses, or auditors concerning the blockchain, keeping them well informed about flows, account behaviours, and other interactions within the community.
The project will provide a comprehensive audit trail and identify suspicious activities that will enhance security and reliability within the blockchain ecosystem, thus engendering increased trust and interaction. This will be an invaluable tool for anybody seeking to operate and interact safely and effectively in blockchain networks.
I invite @wilmer1988, @josepha, @wuddi to join this learning challenge.