![image](https://images.hive.blog/0x0/https://files.peakd.com/file/peakd-hive/threespeak/23uQNvHfQ5FuxvKKHS3bqh2rCLyjC8vqXyJ7CaoFtr6edMgSo68RaCWzpNbzkRdjUeRKC.png) https://www.dropbox.com/scl/fi/8tqekcj0tfudwkq7xi40w/3Speak-Sagar-Updates-27-Feb-2024.mp4?rlkey=hwe4sncd4ithxk6eftytp9wi4&dl=0 @eddiespino - please upload this video Hello @threespeak Community Members & Hive Community Members, With this post, I'll share the development updates & items on which I (@sagarkothari88) was working. Accidently, OBS decided to pick a different audio device & due to which no audio was captured. You can find updates as follows. ## Setting Up Acela-core - Acela-Core is a new backend core for decentralized video applications on HIVE - It supports both offchain & onchain data. - I (@sagarkothari88) checked it out locally & resolved all the issues he faced. ### Setting up .env & resolving related issues - To run, you need some of configs. - After co-ordinating with team, I got necessary env variables - Even after that, I faced some of errors due to some missing env vars - After disabling cluster related services, I was able to move forward ### TUSd uploader - At first, I was unaware & I was running TUSd instance on my own. - After knowing that, there is a script already for it, I closed that instance & ran on my own. - https://github.com/spknetwork/acela-core/blob/main/runTusd.sh - With that, I had running TUSd uploader locally ### TUSd Hooks - Even after running it, It kept throwing errors. - I created a `data` folder locally & updated `runTusd.sh` as follows. - It resolved TUSd issues. - As you can see here, I changed `upload-dir` from `/data` to `./data` ```shell tusd -upload-dir=./data/ \ -base-path="/files" \ -host="127.0.0.1" \ -port="1080" \ -behind-proxy \ --hooks-enabled-events pre-create,post-create,post-finish,post-finish,post-terminate,post-receive \ -max-size 5000000000 \ -hooks-http http://localhost:4569/api/v1/upload/tus-callback ``` ### Other errors - I also encountered IPFS Cluster issues - Those I managed to resolving by coordinating with team. - Also encountered some compilation errors & got it fixed locally. - After all of these, I was all set. ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## Learning NestJS - Acela core is written using NestJS Framework - It's been over a year & I have not learned about NestJS - I found a playlist on YouTube to learn NestJS - I completed approx 18 videos from that playlist - https://www.youtube.com/playlist?list=PLqLR2H326bY6eRNOXJxWQkvKNlzmJQfLj - After 18 videos, I decided to start contributing to project acela-core. ![NestJS Video Playlist](https://files.peakd.com/file/peakd-hive/sagarkothari88/23wWT2CTzfNDgQezoy9hmhN7DJ1Y3ggttmuqVQoy8vTzFmkLnQ8tWCikDnxx1o7FQCbgm.png) ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## Acela-Core - Posting Authority before logging in ![Checking for Posting Authority](https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7AyTgukHsGVuz4pQbhrGPJwha5vWcqTkQWjove53QaTgLE8QGRG9xSaBCyRo9BrCEV.png) - https://github.com/spknetwork/acela-core/pull/8/files - Granting JWT Token only if posting authority found. - This JWT Token subsequently will be used for upvote, comment, post etc. - Without posting authority, all of the operations may fail. - So, it's best to check at time of login /login_singleton - It would be front-ends responsibility to get posting authority first. - After that front-ends can generate proof & proof of payload & - execute/login_singleton for logging in. ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## Acela-Core - Max 5 GB Upload ![File Size](https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7BGkMDtPvJZLgRjMs5yzmWPZYY7fTaeM3qp8bQvipbZQ4RtNg82uxtEYRUBnPZbzq6.png) - We need to make sure that file size is no bigger than 5 GB - https://github.com/spknetwork/acela-core/pull/9 - In `src/services/uploader/uploading.service.ts`, I added extra check & it throws error if file size is too big. ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## New FrontEnd - Video Format - This will be the third check, which we'll be adding in upload process. - It makes sure that users are uploading video in right format. - With this, we wish to improve upload experience. - This work is in progress ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## Exchanging GQL queries - Juneroy & I exchanged number of GraphQL queries - With which, he would be able to implement it on New 3Speak FrontEnd - Shared Queries for followings - Subscribed feed, - Trending feed, - New feed, - First upload, - Community Feed, - Tags Feed ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## What are next tasks? - Acela-Core - Fix Upvote API - Acela-Core - `create-upload` API failing - 3Speak Legacy Studio - Add posting authority using Active Key not working - 3Speak Legacy Studio - Connect account using Active Key not working - 3Speak Legacy FrontEnd - 3Speak Twitter handle - 3Speak Legacy FrontEnd - Update Twitter Icon - New tasks will be assigned based on daily stand ups ![](https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png) ## Feedback / Info - Do you want more Info? Please let me know via the comment section. - Do you have feedback to share? Please use the comment section. - Please check the above video & share feedback --- ![color3speak.png](https://files.peakd.com/file/peakd-hive/threespeak/23tRvWvmwuE7SGkXfPhHY8GPxiwaVKnVtzAFwDjuXFM3gWtRS6dr2F4yK4vexmaUHERuK.png) ### <center>Important Links:</center> ||| |:-:|:-:| |[3Speak Linktree](https://linktr.ee/3speak)|[SPK Network Linktree](https://linktr.ee/spknetwork)| | | | | | |-|-|-|-| |[3Speak.tv](https://3speak.tv)| [3Speak Twitter](https://twitter.com/3speakonline) | [3Speak Hive Blog](https://hive.blog/@threespeak) | [3Speak Telegram](https://t.me/threespeak) | | [3Speak in Spanish](https://peakd.com/@threespeak-es/posts) | [Download Android App](https://play.google.com/store/apps/details?id=tv.threespeak.app) | [Download iOS App](https://apps.apple.com/us/app/3speak/id1614771373) | [Download Desktop App](https://github.com/spknetwork/3Speak-app/releases) | [Join 3Speak Discord](https://discord.gg/NSFS2VGj83) | [Setup Encoder Node](https://ecency.com/hive-181335/@sagarkothari88/retfajht) | [Vote for SPK Network Proposal](https://peakd.com/hive-112019/@spknetwork/spk-network-funding-proposal-rhnv7e) | [Badge Recipients](https://peakd.com/b/badge-181335/recipients) | ||| |:-:|:-:| [![appStore](https://i.imgur.com/enwTLng.png)](https://apps.apple.com/us/app/3speak/id1614771373) | [![GooglePlayStore](https://i.imgur.com/6K5fgGX.png)](https://play.google.com/store/apps/details?id=tv.threespeak.app)| ### <center>[Vote for 3Speak as Witness](https://vote.hive.uno/@threespeak) - [![Support @threespeak](https://images.hive.blog/u/threespeak/avatar)](https://vote.hive.uno/@threespeak)</center> ### <center>[Vote for Sagarkothari88 as Witness](https://vote.hive.uno/@sagarkothari88) - [![Support @sagarkothari88](https://images.hive.blog/u/sagarkothari88/avatar)](https://vote.hive.uno/@sagarkothari88)</center> </div>