We’ve built the first ever smart contract-based dApp that rewards users for seeding and sharing files. Once the code review, testing, and last few features are finalized, Upfiring will go live.
Upfiring is a smart contract-based blockchain file-sharing application that incentivizes seeding through UFR tokens, supports multiple seeders, and encrypts files for added security.
Topics• Source Code Overview ○ State of Development ○ Features Breakdown• Marketing, Expansion, and Adoption ○ dApp Launch — what to expect? ○ The Upfiring Seeders Initiative ○ Guides and Documentation• Upfiring Communities — Future Development and Growth
Upfiring is open-source. We release our application source code approximately twice per month to keep developers and followers updated on our progress:
https://www.dropbox.com/s/o64nhfz1lo8vfkp/upfiring_source_code_071018.zip?dl=0
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.
Improved user interface for Upfiring v1.0.0, allowing for UFR and ETH in existing wallets to be instantly accessible. Users can create new wallets as well if they do not already have one.
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’ve recently added a settings tab where users can customize the way their OS will interact with the application.
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.
Features BreakdownA 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.
dApp Release — What to expect once Upfiring launches?
When the network launches, users will begin uploading files and sharing them on Upfiring communities, social media, forums, existing P2P sites, and anywhere else they choose. Because seeding is incentivized, we expect the Upfiring network to become more valuable over time as more and more seeders join and more files are uploaded. This will have two effects — the network will become stronger (more seeders = higher uptime and faster downloads) and more files will be available on the network — making Upfiring appealing to downloaders in search of specific files.
During this time, efforts will shift towards heavily marketing the dApp, raising awareness about the Upfiring brand, and onboarding new users & seeders from existing P2P networks.
The Upfiring Seeders Initiative
The Upfiring Seeders Initiative — which will launch alongside Upfiring v1.0.0 — will aim to attract as many seeders as possible to the platform. We plan to be the first large-scale blockchain application that will allow paid seeding without any limitations. There are very few enterprise-grade blockchain applications available at this moment (aside from wallets and decentralized exchanges), so the primary focus for the seeding initiative will be to introduce new users to the project and explain to them how they can benefit from becoming a seeder, supporting the network, and uploading their own content.
It is a full-on marketing effort that will involve working with content creators, partnering with existing P2P sites, promoting and assisting the growth of Upfiring communities, and raising awareness on social media.
Upfiring Guides and Documentation
Because not all users of the application will be familiar with blockchain and using dApps, we are working on a set of guides and easy-to-understand documentation that will explain important concepts for using Upfiring - including how to set up and secure the funds in a wallet, private key security, smart contract interactions, network anonymity, and more. We’ve also added “welcome screens” to the application itself that will walk new users through the process of using the application and setting up a wallet.
These guides will be readily available on our website.
Upfiring communities will support the Upfiring ecosystem and provide a location for users to share their files — as well as attract seeders that will help to keep their files online. Several Upfiring communities were recently built in the recent bounty campaign. Our plan going forward is to support community-driven projects on our website, subreddit, Bitcointalk, social media, and elsewhere. In order to be listed, your project must meet a certain standard be approved. Thus far we have approved two projects that have stemmed from the recent bounty campaign — UFR.io and UpTorrent.net. We will be adding these projects to our homepage in the next two weeks as well as setting up a more convenient system for submitting projects for approval and receiving feedback.
Please note that adding a community-driven project to our website does not indicate our direct support of that project. In addition, we do not monitor all activities that occur on Upfiring communities. Our standards for being included on our website and elsewhere are strictly development-based.
Going forward, we will be releasing smaller but more frequent updates on Medium (in lieu of the large but spaced-out updates we have released up until this point). If you have any further questions about the project, feel free to post on our community pages or send us an email at [email protected]. Come join us over on Reddit, Bitcointalk and Twitter as we continue our mission to change the future of P2P file-sharing.