Jump to content

Halo-Shannon

Halo Platform Leadership
  • Content Count

    49
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Halo-Shannon

  1. Halo-Shannon

    Dex Version 0.9.0 Beta

    This version marks the first beta version. There are some unstable items within this, but they will be identified more clearly with user testing. Expect at least two more beta version before production version is released. Before production we will release a beta-final version. That has all polish done, and any future updates would be for hotfixing bugs only, no new features. Change Logs: Dex Frontend - Removed all prisma subscriptions - Added pusher pubsub - Subscriptions are fixed and live data all comes through now - Added landing page with statistics on tokens - Improved order book aggregate algorithm to be more performant - Drastically reduced application memory consumption - Trading View volume fixed - Trading View wicks fixed - Sidebar ticker is now live updated - Trading View now pulls live data from pusher - Trading View grabs exact 30 second intervals - Drastically reduced amount of data sent with each updated - Fixed clicking order populating order form - Fixed balances subscription - Fixed trades subscription - Fixed user orders subscription - Fixed creating orders - Fixed cancel order subscription - Fixed balances page not updating correctly - Fixed order matching - Fixed issue where dex would not know if user is buying or selling when making a trade Dex Backend - Faster order and contract event processing - Publish live events to pusher - Multi-threaded processes for watching contract - Improved prisma data storage - Clustered public API and load balanced - New message types of live data - New ticker format for 24 hour moving 30 second frame - Fixed ticker volumes and wicks for trading view to consume - Fixed data to be referenced by token number and not token address
  2. Halo-Shannon

    When I click Education.....

    It’s not open to the public yet, it was empty and I didn’t want it open until there was actual content in there. Which it seems Scott W has been adding stuff to it. So I’ll open it up tomorrow when I’m in the office.
  3. Halo-Shannon

    Featherlite Version 1.1.1

    New version of featherlite is available for download. Please visit https://www.haloplatform.tech/downloads.html to get it. Changelog: Use app props and v-content instead of absolute positioning Remove extra scrollbars Remove whitespace between account status and main content Account status now wraps properly in narrow windows Cleaned up CSS selectors bugfix: Sometimes full node crashed the client, doesn't happen anymore feature: Support for batch transaction for dapps and a loading UI for it chore: Updated PP and ToS feature: Added a nice animation on client startup MD5: MD5 (feather-fedora-client-1.1.1.x86_64.rpm) = d35813ce209d85b49b583bbf744cf018 MD5 (feather-linux-client-1.1.1-x86_64.appImage) = 6acd9948b86ecfe93175a4c13fd1a09f MD5 (feather-mac-client-1.1.1-x64.dmg) = 2871c6858562310a016a55ae722285dc MD5 (feather-ubuntu-client_1.1.1-amd64.deb) = 4b18f15950dda262ad0e7027c3e5964b MD5 (feather-windows-client.Setup.1.1.1-x64.exe) = f6b58f2945d5f02aa256d669b9e176b4 MD5 (upload.sh) = 88e1d36674beea1ad4aea6108d7f3e9b
  4. Halo-Shannon

    Masternodes Version 2.4.0

    Changelog: Fixed bug that prevented withdrawing rewards from watched nodes Fixed bug that caused a maximum of 5 sell orders to show on expanded sell orders Expanded sell orders now properly sorted by lowest pricePerShare Withdraw all and multi-select sell order purchases now use a single batch request Fixed bug in private join dialog that sometimes caused invites to not load correctly Fixed bug that sometimes caused masternodes to load twice Added dialog for withdraw all that displays total rewards to withdraw and rewards for each masternode
  5. Halo-Shannon

    Dex Version 0.4.0 Alpha

    Change Logs: - Changed alignment of sell orders - Resized the new order card to take up less space - Added contextual colors for buying and selling in the new order card - Added 8 decimal places to display data for the order book - tradingView replaced AmCharts for main chart on exchange - resolution and symbol changing updates - production config updated for static files relating to tradingView - Updated Balances page to now show wallet balances outside of dex. Also added some coloring to page to make it less boring
  6. Halo-Shannon

    DEX Contract Version 0.1.0 Beta 1

    We just pushed the Beta 1 version of the contract to the testnet chain. No changelog as it would be a mile long at this point. Will track changes from here on out. Upon public full release, we will release source of contract.
  7. Halo-Shannon

    24 Hour Block Rewards

    you are better at posting these than I am at posting reward payouts ?
  8. Halo-Shannon

    Top Menu - Feather

    depends on operating system, but we can look into this.
  9. Halo-Shannon

    Exchange

    You are hitting it on the nail there. We are working towards that exact thing!
  10. Halo-Shannon

    Exchange

    Hey there! Thanks for coming and asking, as those are very valid questions. I cannot answer the question about HALO being listed on an external exchange, however, I can address the rest of the question. First, I'd like to explain how we do our processes internally, and how that affects releases. Because of the nature of software and software development, there are always unknown factors. These unknown factors or edge cases can be a really big thorn in developers sides. Since these edge cases exist we as a company policy do not release any product directly from development into a live environment. So when we make an announcement that something will be live by X date then it is assumed on our end that this means live on a testnet or alpha/beta period. That being said, the plan was always to release to testnet first and not to mainnet. Secondly, we believe that end users have a say in how our applications flow, handle, and feel. This is why we release software as an alpha or beta state to testnet. This is not only to have the community help us find edge case bugs, but to also give us feedback on the interface and user experience. We take that feedback and use it to build a better and more refined end product. In case you are not aware we define four stages of an application when in development here at Halo Platform Development - This is purely internal development and most of the time not very transparent as a lot of things change and go back and forth. The entirety of the code base could change if we have a tech change or a hard blocker towards a route we were taking. Alpha - This is an unstable, bug filled, testnet release meant to give the initial feel of the platform and to have community help to refine it. This release does not particularly reflect what the end product will be. Beta - This is a more stable release to testnet. We will have addressed initial community concerns but continue to refine the platform. This release better reflects the end product. Production - This is a stable release to mainnet that is the end product. The answer to the question of "When will it be ready for live mainnet use" is... when it is ready. We will commit to doing often and continuous releases to fix issues and bugs as they appear, as well as add polish. The system for depositing eth is still not deployed to testnet but we hope to deploy it this week in its alpha state. Currently, I still view the dex as Alpha as there are rare issues with WebSockets that we need to track the bugs down and figure out how to eliminate the case were events are propagated properly. Now to answer what happened and why was it late, that is a bit easier to answer. We scheduled to launch to testnet on August 15th, and we successfully launched on August 16th. The reason that it was a day late was two-fold. We had the WebSocket issue that was preventing event propagation but it was much much worse. Systems that had been working in development for a while all of a sudden stopped working. (This happens in software development, it's called a development regression). We worked to finish fixing this and we were confident in fixing it. We finally found some major issues and had them resolved on the 15th of August. However, at this time it was well into the day (Late at night for our developers). We made a humane decision for the sake of our developers and community. We decided to not deploy until we had let our developers off for the night and come back in the morning with fresh and rested minds. This was to prevent any sudden issues from exhaustion from popping up during deployment. All in all, it took us a few hours to fully deploy and get all of our code moved through our release cycle, and so we released late afternoon on the 16th of August. I know I went into a lot of detail, and probably too much detail. However, I wanted the community to have all the facts and to understand how our processes work. If you have any further questions on this please don't hesitate to ask. Thanks, Shannon
  11. Halo-Shannon

    What If?

    Let's play a game. What if you could add or take away any feature of the Masternode DAPP, what would you do?
  12. Halo-Shannon

    Taking care of business

    It is only going to get better!
  13. Halo-Shannon

    Async Iterators and GraphQL awesomeness!

    Find final code here: https://gist.github.com/shadowcodex/587cd0ffbf49cefd3a00a56caf7a5f11 So we recently adopted to using graphQL on our backend for a lot of our systems. It provides a ton of benefits such as: Faster front-end prototyping Built-in pub-sub Easy event-driven systems Better bandwidth handling and not over pulling or under pulling data And so much more... Those are just a few of the reasons we are working with graphQL now, and we have to say we love it. The new DEX is built on it with a special flow that I'll do another post on someday, however, I wanted to focus on something very specific that isn't covered in the documentation of graphQL and that is handling subscriptions on the server side. Specifically, we use Prisma as our backend graphQL service and with it comes prisma-bindings. It's great, and they have several examples of how to work with mutations and queries. No examples of subscriptions exist. So to first work with them you have to understand that subscriptions in prisma-bindings return async Iterators. If you are familiar with javascript async/await then you will know that async means that it happens without waiting on it (more or less). So to work with these you have to handle the iterator to get the values you want. So how does it work? Well first you grab your subscription, I'm going to work off of the following data model: # Information around an address type User { id: ID! @unique # Unique id autogenerated by system // remove if you don't want two unique paramenters. address: String! # The halo address of the user lastSeen: String! # Unix Epoch Time of Last Event Containing this User } This means that Prisma will handle creating a few functions for us like createUser, updateUser, query Users, and subscription user. So to subscribe using prisma bindings we use the following code: prisma.subscription.user({}, "{ node { id } }") So we pass it our search options which in this case is {} or none. Then we well it what we want back from the subscription. Now if you were just to log out this you would get an object that looks like: { next: [Function: next], return: [Function: return], throw: [Function: throw], '@@asyncIterator': [Function] } Which is quite useless. However, if you know what you are looking at you can use to your advantage. We know there is a function called "next()" on the returned iterator. When working with iterators the function "next()" will return the next item in the list, now if you apply that to an async iterator then it will return a promise for the "next()" function. When the promise resolves, the values will give us what we wanted in the first place. Once next resolves you can call it, again and again, to continue getting objects as they are passed into the iterator. Ok I can call it and wait for promise to resolve and use ".then()" to grab the value, but that sounds tedious. And it is. Instead we can use await and a while loop to pick up all the next events as they come in. See the following code: while (true) { await iterator .next() .then(value => { callback(null, value.value); }) .catch(err => { callback(err, null); }); } So here we do: Start loop Wait for next to resolve Do something with the value it returns Loop back to await next item If you throw this in with a call back system you get something like this: const handleIty = async (iterator, callback) => { while (true) { await iterator .next() .then(value => { callback(null, value.value); }) .catch(err => { callback(err, null); }); } }; Where you can pass in your iterator and callback function of your choice. Your callback will be what function you want to fire when the iterator.next() resolves. If you remember the prisma-binding subscription resolved into an async iterator so you can use this to process and "watch" it as new events plow through. So a fully running system watching the user table for any new changes would look like so: const { Prisma } = require("prisma-binding"); const prisma = new Prisma({ typeDefs: "./../generated/prisma.graphql", endpoint: "http://localhost:4466", }); const handleIty = async (iterator, callback) => { while (true) { await iterator .next() .then(value => { callback(null, value.value); }) .catch(err => { callback(err, null); }); } }; const handleValue = async (error, value) => { if (error) { console.log(error); return; } console.log(value); }; const run = async () => { const ity = await prisma.subscription.user({}, "{ node { id } }").catch(err => { console.log("error:", err); return; }); handleIty(ity, handleValue); }; run(); ---- This allows us to add items to the user table, and any system utilizing this will fire off the handleValue function. Essentially this allows our systems to react to data as it enters our database whether that data is from an API, a blockchain node, or a smart contract. After we launch the DEX we will talk more in depth of how we use this to power the DEX Frontend. Thanks guys, gals, and non-binary pals!
  14. Halo-Shannon

    Async Iterators and GraphQL awesomeness!

    This blog post here goes into iterators quite a bit more. http://blog.cipherhack.com/2018/07/10/symbols-iterators-iterables-generators-explained/
  15. Halo-Shannon

    Marketplace Buy section

    So similar to an exchange then. Maybe we could do something in the future on the DEX regarding this.
  16. Halo-Shannon

    DEX Version 0.3.0 Alpha

    Change Log: Fixed subscriptions for order book Fixed price chart display issues Added validation to withdraw/deposit You can now see your wallet balance when depositing/withdrawing funds into/out of the DEX Fixed sorting of Buy Orders Improved performance of Buy/Sell Order tables
  17. Halo-Shannon

    What If?

    That fix is coming. Hmmm. Future versions will allow you to terminate directly instead of through us... SO... this might be possible to auto combine. Or we could structure a batch transaction to do that.
  18. Halo-Shannon

    What If?

    So are you saying trade shares in one MN for shares in another?
  19. I'm from Central US, and I helped build it. Hah. Actually, I came in as an interested investor and talked with Scott and one thing lead to another and now here I am.
  20. Halo-Shannon

    What If?

    Interesting, if we start collecting this kind of data we could essentially show it to the user. Those are a little tricky because if earnings are way off of that, then are we or are we not liable for telling the user they were going to earn x amount. Will keep it in mind for sure.
  21. Halo-Shannon

    What If?

    aye, that's on my list. A pure transfer version. Oh yes. batch transactions are coming. Will do it all for you. I'm also working on another way where it's literally one function call to get the funds from all your nodes.
  22. Halo-Shannon

    Payouts

    List of Masternode Payouts: https://explorer.haloplatform.tech/block/34425 https://explorer.haloplatform.tech/block/74362 https://explorer.haloplatform.tech/block/119041 https://explorer.haloplatform.tech/block/148623 https://explorer.haloplatform.tech/block/189647 https://explorer.haloplatform.tech/block/228198 https://explorer.haloplatform.tech/block/270327 https://explorer.haloplatform.tech/block/335708 https://explorer.haloplatform.tech/block/417910 https://explorer.haloplatform.tech/block/452677 https://explorer.haloplatform.tech/block/488482 https://explorer.haloplatform.tech/block/530753 https://explorer.haloplatform.tech/block/566351 https://explorer.haloplatform.tech/block/641714 https://explorer.haloplatform.tech/block/672326 https://explorer.haloplatform.tech/block/729913 https://explorer.haloplatform.tech/block/777322 https://explorer.haloplatform.tech/block/837864 https://explorer.haloplatform.tech/block/922201 https://explorer.haloplatform.tech/block/1014400 https://explorer.haloplatform.tech/block/1054102 https://explorer.haloplatform.tech/block/1114413 https://explorer.haloplatform.tech/block/1157363 https://explorer.haloplatform.tech/block/1228541 https://explorer.haloplatform.tech/block/1313912 https://explorer.haloplatform.tech/block/1405506 https://explorer.haloplatform.tech/block/1451466 https://explorer.haloplatform.tech/block/1535135 https://explorer.haloplatform.tech/block/1604087 https://explorer.haloplatform.tech/block/1662163 https://explorer.haloplatform.tech/block/1716604 https://explorer.haloplatform.tech/block/1810676 https://explorer.haloplatform.tech/block/1862387 https://explorer.haloplatform.tech/block/1936268 https://explorer.haloplatform.tech/block/1981034 https://explorer.haloplatform.tech/block/2058480 https://explorer.haloplatform.tech/block/2146795 https://explorer.haloplatform.tech/block/2238828 https://explorer.haloplatform.tech/block/2295685 https://explorer.haloplatform.tech/block/2364303 https://explorer.haloplatform.tech/block/2460605 https://explorer.haloplatform.tech/block/2520946 https://explorer.haloplatform.tech/block/2591881 https://explorer.haloplatform.tech/block/2682990 https://explorer.haloplatform.tech/block/2731648 https://explorer.haloplatform.tech/block/2844395 https://explorer.haloplatform.tech/block/2984192 https://explorer.haloplatform.tech/block/3051259 https://explorer.haloplatform.tech/block/3165413 https://explorer.haloplatform.tech/block/3283374 https://explorer.haloplatform.tech/block/3403726 https://explorer.haloplatform.tech/block/3509623 https://explorer.haloplatform.tech/block/3575084 https://explorer.haloplatform.tech/block/3632740 https://explorer.haloplatform.tech/block/3704590 https://explorer.haloplatform.tech/block/3801042 https://explorer.haloplatform.tech/block/3911305 https://explorer.haloplatform.tech/block/4038746 https://explorer.haloplatform.tech/block/4160056 https://explorer.haloplatform.tech/block/4259472 https://explorer.haloplatform.tech/block/4336257 https://explorer.haloplatform.tech/block/4407751 https://explorer.haloplatform.tech/block/4525213 https://explorer.haloplatform.tech/block/4648766 https://explorer.haloplatform.tech/block/4717179 https://explorer.haloplatform.tech/block/4790567 https://explorer.haloplatform.tech/block/4837457 https://explorer.haloplatform.tech/block/4930089 https://explorer.haloplatform.tech/block/5059616 https://explorer.haloplatform.tech/block/5172997 https://explorer.haloplatform.tech/block/5265170 https://explorer.haloplatform.tech/block/5453283 https://explorer.haloplatform.tech/block/5606643 https://explorer.haloplatform.tech/block/5716119 https://explorer.haloplatform.tech/block/5814065 https://explorer.haloplatform.tech/block/5901822 https://explorer.haloplatform.tech/block/6048772 https://explorer.haloplatform.tech/block/6155303 https://explorer.haloplatform.tech/block/6296474 https://explorer.haloplatform.tech/block/6446182 https://explorer.haloplatform.tech/block/6529751 missing missing https://explorer.haloplatform.tech/block/6913786 https://explorer.haloplatform.tech/block/7046998 https://explorer.haloplatform.tech/block/7190016 https://explorer.haloplatform.tech/block/7271633 https://explorer.haloplatform.tech/block/7417085 https://explorer.haloplatform.tech/block/7518330 https://explorer.haloplatform.tech/block/7639202 https://explorer.haloplatform.tech/block/7809014 https://explorer.haloplatform.tech/block/7943392 https://explorer.haloplatform.tech/block/8087429 https://explorer.haloplatform.tech/block/8229892 https://explorer.haloplatform.tech/block/8289151 https://explorer.haloplatform.tech/block/8410363 https://explorer.haloplatform.tech/block/8556341 https://explorer.haloplatform.tech/block/8675976 https://explorer.haloplatform.tech/block/8858631 https://explorer.haloplatform.tech/block/8997880 https://explorer.haloplatform.tech/block/9148669 https://explorer.haloplatform.tech/block/9298310 https://explorer.haloplatform.tech/block/9386616 https://explorer.haloplatform.tech/block/9498685 https://explorer.haloplatform.tech/block/9659485 https://explorer.haloplatform.tech/block/9770093 https://explorer.haloplatform.tech/block/9939447 https://explorer.haloplatform.tech/block/10129467 https://explorer.haloplatform.tech/block/10288712 https://explorer.haloplatform.tech/block/10418690 https://explorer.haloplatform.tech/block/10758700 https://explorer.haloplatform.tech/block/10918706
  23. Halo-Shannon

    Payouts

    https://explorer.haloplatform.tech/block/11026475
  24. Halo-Shannon

    MN statistics dials

    @Halo-Tristan @Halo-Scott see above.
  25. Halo-Shannon

    Excited to be part of the Forums!!

    Yeah I’m really hoping that this helps make our project even more transparent on its happenings.
×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Please review our other terms and privacy polices here: Terms of Use and Privacy Policy