Source Code Overview
Upfiring is open-source. We release our application source code approximately twice per month to keep developers and followers updated on our progress:
Since the last Medium update, we’ve been quietly hacking away and have had all hands on deck for development. Going forward, we’re going to shift some of that focus towards marketing and expansion of the project.
State of Development
In order to store users’ funds within the application, we needed to create our own custom, fully-functional wallet system in which users could deposit, withdraw, and transfer both UFR and ETH securely within the application.
In addition to these wallets, the Upfiring smart contracts?—?which will hold all seeder funds?—?are responsible for securing a lot of value on a potentially huge network. As a result, the application requires extensive testing to ensure that these aspects are entirely secure. We’ve seen what can happen when smart contracts aren’t properly tested, and we feel it is better to release a fully secure user-facing dApp that allows users to feel fully confident that their funds are secure?—?even if it means spending a bit more time focusing on development than initially anticipated.
We can’t give an exact release date at this time – it is entirely dependent on the results of the code review, testing, and final feature implementation. Once we have confirmation that the dApp is entirely secure and ready for launch, we will announce a release date and provide a schedule detailing how the launch will work. We appreciate the community’s patience and are working as quickly as possible to prepare the dApp for release.
A ton of features have been added since the last Medium update. Here’s a breakdown the current source code. The following features are included in the above code release:
? dApp generates .ufr files with embedded price and ownership data
•• Price data and owner (original seeder) data is embedded directly in the file itself. This prevents it from being changed and allows the file to be easily distributed across various mediums while maintaining data about the owner/UFR price.
•• Created a new type of file extension, .ufr, that defines app-generated files that are ready for seeding. Clicking on them will automatically open the Upfiring application if a user has downloaded it.
? Settings tab?—?users can customize how the application interacts with their computer and enable auto-launch, update the dApp, and more.
? Add existing wallets via private key or a wallet file
•• Users who store their UFR or ETH in an existing wallet such as MyEtherWallet or MetaMask will be able to load that wallets directly into the application, then use it to download files or perform smart contract-related transactions
? Creation of a new wallet within the app and generation of a wallet file/private key. Upfiring functions similarly to MyEtherWallet and allows users to create wallets directly within the application?—?then save the generated wallet file to your local computer.
? Onboarding screens for first-time users of the dApp. These screens explain how to get started by creating a wallet, securing it, generating .ufr files, and seeding them.
? Optimized memory usage to allow for scalability and downloading/uploading multiple large files at once
? Improved dApps interactions with the smart contracts. Upfiring will check the user’s UFR and ETH balance before a transaction is sent and display a message if either balance is not enough. This can occur during both withdrawals (seeders withdrawing their earned UFR from the contract requires an extremely small amount of ETH?—?commonly referred to as gas) and downloading (user does not have enough UFR to download the file).
? Earnings over time chart added to the Wallets tab to allow seeders to directly track and visualize their UFR earned from seeding.