Skip to content

Instantly share code, notes, and snippets.

@ConanMishler
Last active December 7, 2023 18:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ConanMishler/4530bc65282fab8abc3bc9fcfa4567e6 to your computer and use it in GitHub Desktop.
Save ConanMishler/4530bc65282fab8abc3bc9fcfa4567e6 to your computer and use it in GitHub Desktop.

Past Contributions to Blocknet

aBLOCK & aaBLOCK

  • Discovered a path (via Anyswap) to create an ERC20 version of BLOCK (aBLOCK) in less than 2 months, which required very little of Blocknet dev time or Blocknet money. Later, helped to leverage this same work to create an ARC20 (Avalanche bridged) version of BLOCK which now trades on Pangolin as "aaBLOCK."
  • Served as aBLOCK & aaBLOCK embassador, providing liaison & testing services with Anyswap while aBLOCK & aaBLOCK were in development.
  • Wrote a comprehensive Gist about aBLOCK
  • Wrote a comprehensive Gist about aaBLOCK

Hydra & XQuery

  • Created Architectural Diagram for Hydra & Enterprise XRouter
  • Performed extensive QA testing and gave extensive QA feedback on the tools for automatic deployment of EXR/Hydra/XQuery Service Nodes, and also on Hydra & XQuery services themselves.
  • QA testing/debugging on EXR SNode Builder tool
  • QA testing/debugging on EXR Service Node payment database editing tool.

Docs Portal (https://docs.blocknet.org) and API docs portal (https://api.blocknet.org)

  • Helped fix & update instructions on how to contribute to the Docs Portal

  • Updated the list of Exchanges where BLOCK can be traded

  • Added instructions for installing XLite and Backup/Restore of XLite

  • Added instructions on how to configure BlockDX to connect to XLite

  • Updated instructions regarding the process of listing new coins on BlockDX

  • Corrected erroneous statements in Trading section about ORDER FORM Address Fields

  • Updated instructions on how to use XLite with BlockDX, including how to work around one known bug.

  • Fixed errors in Glossary (like changing all “UXTO” to “UTXO”), and clarified some Glossary definitions.

  • Added helpful special instructions for trading Goldcoin (GLC) on BlockDX

  • Added how to verify BlockDX download with SHA256

  • Added Warning about possible time delay on initial load of BlockDX Order Books

  • Made XLite, Blocknet-qt & BlockDX installation instructions more "Bozo-Proof"

  • Removed references to non-existant download files in wallet intallation instructions

  • Added instructions for Backup/Restore of Blocknet wallet (there was nothing before)

  • Updated all links to Discord to point to new Discord server

  • Restored inflation data and charts, links to which had been broken

  • Added instructions to troubleshoot and fix wallet syncing issues like, "No Peers" and "Syncing Halts Unexpectedly."

  • Updated, simplified and clarified instructions for creating a SuperBlock Proposal

  • Added instructions on how new traders can acquire initial BLOCK

  • Clarified that Taker Fee must be paid from Blocknet core wallet; not from XLite

  • Added links to four Blocknet Network explorer, monitor & utility sites

  • Added information on HD wallets, including how to migrate to an HD wallet if you don't have one already

  • Added instructions how to manually redeem funds lost in a failed BlockDX transaction

  • Added Fix Wallet Balance page about zapwallettxes=2 and equiv operation from GUI

  • Added summary of procedure for performing test trades for a new coin integration

  • Refined instructions for manual redemption/refund of funds in failed/cancelled transaction

  • Refined Blocknet wallet backup/restore instructions

  • Updated BlockDX trading instructions in preparation for release of partial-order-enabled BlockDX

  • Updated out-of-date answers in BlockDX FAQ

  • Added instructions for recovering XLite private keys using 12 word mnemonic passphrase

  • Added calculation for & display of next Superblock proposal deadline & voting deadline

  • Extended future Superblock dates table for 10 years

  • Added MENU (Settings) page to BlockDX docs

  • Added instructions to upgrade to latest Blocknet wallet version

  • Added instructions how to organize UTXOs to maximize staking rewards

  • Added instructions for staking from CLI on an Ubuntu Linux VPS

  • Added documentation for sending funds from Blocknet wallet with Coin Control

  • Add explanation what to do when Error Sending Funds: "The specified transaction information is bad, please review." and/or "Not enough coin inputs selected to cover this transaction."

  • Added instructions how to stop Blocknet wallet from staking while it's unlocked for trading

  • Added explanation of why available balance in BlockDX sometimes drops dramatically when making an order, and how to prevent it from happening by splitting inputs before making order

  • Clarified in VPS Staking guide that the same wallet.dat can be accessed on your local computer which is also staking on your VPS

  • Updated docs on BlockDX Trading to reflect the fact that addresses are now auto-generated in the ORDER FORM, and how to change the setting for that.

  • Added instructions to explain how to run a staking wallet and a service node wallet on the same computer.

  • Created guide for auto-deployment of EXR Service Node & Hydra.

  • Added Info. about using xrsendtransaction command to redeem coins stuck in a failed transaction.

  • Added Info how to access XLite coin daemons via RPC.

  • Added instructions in trading section on Clear All Order History, including Stuck Orders

  • Added warning about possible loss of funds if trading wallet goes offline in the middle of an atomic swap and doesn't immediately come back online.

  • Added Info on orphaned stake hits

  • Clarified procedure for contributing to docs portal in docs portal Github README.md

  • Added more tips about interacting with docker containers and their contents

  • Updated contributors to include Github IDs of all devs

  • Moved aBLOCK & aaBLOCK Gists to docs portal & updated both

  • Updated HW requirements for supporting XQuery & Hydra.

  • Added useful info on maintenance of a docker-based Service Node

  • Added new Blocknet explorer link

  • Added warning about no SegWit support in XLite yet

  • Removed reference to Community Funds

  • Corrected many Windows directory references based on erroneous assumption about the Windows variable, %appdata%

  • Removed all references to the soon-to-be defunct blockdx.co website.

  • Updates to Glossary about Indexer/XQuery

  • Added warning about staking on VPS owned by malicious VPS provider

  • Removed recommendation to use Contabo for Service Node VPS

  • Updated Snode Setup docs according to new behavior of autobuild tools

  • Added walkjivefly to contributors

  • Made Blocknet Wallet Upgrade instructions more visible

  • Added link to instructions on installing CLI wallet

  • Added warning about high fees when unwrapping aBLOCK to BLOCK when eth gas fees are high

  • Added BLOCK/USDT pair of Bittrex to Exchanges list

  • Updated instructions on how to list a new coin on BlockDX, or update an old one

  • Added desac to contributors, fixed roadmap link and removed reference to 100:1 split

  • Added guide on how to protect an EXR SNode from malicious http attacks with fail2ban tool

  • Added mention of how to deploy a testnet Trading Node

  • Updated contributors page

  • Added Info on how to debug, fix and prevent the problem of "no peers" due to peers being banned by the wallet.

  • Changed all stcli references to blocknet-cli for consistency w/ online blocknet-cli help messages.

  • Added note in the VPS Staking guide to "STOP AFTER STEP 13" for those who are just setting up an Ubuntu VPS for an SNode and don't plan to stake on the VPS.

  • Updated diagrams and glossary definitions of Hydra and XQuery to reflect our new understanding that both Hydra and XQuery services can easily be made available for all EVM blockchains hosted by a Service Node.

  • Updated HW requirements for running a Hydra/XQuery capable Service Node.

  • Finished documenting and publishing full details on how to deploy an Enterprise XRouter Environment Service Node with XQuery/Hydra support using the new, simplified "builder" deployment tool.

  • Completely overhauled and updated Collateral Wallet Setup Guide (with just a few more enhancements yet to come), making it much more user-friendly to Service Node Operators who use a GUI/Qt wallet as their Collateral Wallet.

  • Refactored the presentation of the guide for setting up an Ubuntu Linux VPS so it's now possible to easily find and follow the guide without having to follow links to remote places.

  • Misc minor edits, like adding references to https://staking.blocknet.co/, and adding special instructions on how to install BlockDX on Fedora Linux

  • Reverted XQuery to an earlier version which should run without memory leaks and allowed XQuery to index NEVM blockchain. This also included fixing several areas of code that were broken in the reversion.

  • Performed QA Testing of XQuery's indexing of the Syscoin NEVM blockchain. Discovered a bug related to XQuery not waiting till Syscoin NEVM blockchain is fully synced before starting to try to index the blockchain. It was really a bug in the way NEVM chain implemented the eth_syncing method, but I figured out a way to work around the NEVM bug and implemented the workaround.

  • Discovered and fixed an issue where the xquery-reverse-proxy image was broken by a new release of openresty/openresty:alpine-fat image.

  • Improved the help message returned by XQuery /help endpoint - clarifying some important points w/ examples.

  • Added links to connect back and forth where useful between docs.blocknet.co and api.blocknet.co

  • Added useful information about locking UTXOs in the [Collateral Wallet setup guide]. Specifically, added info about locking inputs before calling servicenodecreateinputs to prevent that method from withdrawing funds from pre-existing collateral addresses while setting up a new collateral address.

  • Finished with a major overhaul of the the API docs portal. That overhaul included adding up-to-date documentation on the Projects API, the XQuery API and the Hydra API for EXR SNodes. Check out the new API docs for Projects, XQuery & Hydra here.

  • Debugged an issue wherein XQuery was not indexing all the transactions it should from the NEVM blockchain (and other blockchains). The problem turned out to be caused by an attempt to filter which transactions are indexed based on the DEX/Router address with which the transaction is associated. The solution was to simply remove that filtering mechanism so that all transactions are indexed. There was some concern this solution would result in too much data being stored to the XQuery database, but by performing some tests on NEVM and AVAX blockchains I was able to verify this is not a valid concern.

  • With support from atcsecure, desac & uzrus, I was able to migrate the utxo-plugin and plugin-adapter services from their native kubernetes environment at Cloudchains to a pure docker environment which any Snode operator can easily deploy. These two services together enable an Snode to support the getutxos API call required by multichain.org, and also by XLite backend API.

  • Wrote a spec for anyone to use to add support for utxo-plugin and plugin-adapter deployment to the Snode builder tool.

  • Rented and set up a new, dedicated blocknet VPS to perform various utility functions, perhaps most importantly that of hosting the getutxos api required by multichain.org for bridging BLOCK <=> aaBLOCK. This new server will also serve as one of the redundant backend api servers for XLite when we relaunch XLite, and probably a few other blocknet utility functions.

  • Debugged and fixed the "502 Bad Gateway" error returned by xr_proxy on calls to xquery endpoint: http://<NODE-URL>/xrs/xquery/<PROJECT-ID>/indexer. (It turned out to be caused by a new release of the nginx server package which broke some of our code.) Fixing this allowed us to confirm @walkjivefly's new feature-SYS branches were not the source of this error, which in turn allowed us to merge the feature-SYS branches into the master branches, and thereby allow SNode Operators to easily deploy XQuery v1 support for Syscoin NEVM blockchain.

  • Added SNode builder feature to cause SNodes to broadcast more detailed information about which EVM blockchains they support for Hydra and for XQuery. This will support the display of these details in @shorn's new XQuery client UI.

  • Identified and fixed an issue where Hydra endpoint for ETH and NEVM chains required a "/" character at the end of the URL, which was unnecessary and potentially confusing to Hydra clients.

  • Provided technical guidance to Ninjadev for his development of the front end of the XQuery client UI.

  • Added the get_project_stats method to the Projects api of xr_proxy. This new method will allow @shorn's new XQuery client UI code to securely fetch all detailed information about a project that might be interesting to an XQuery (or Hydra) client. list_projects method was also removed as get_project_stats method was added and all references to the list_projects method in the help messages were eliminated.

  • Set up a test environment for XQuery v2 and wrote a comprehensive, step-by-step README for others to easily set up that test environment and beginning testing XQuery v2. (See README in this repository).

  • Updated the Projects, XQuery and Hydra sections of API docs to reflect the complete overhaul of the poorly designed and out-of-date payment-processor logic. The new design simplifies the payment system, imposes no unnecessary project restrictions on clients, separates XQuery from Hydra projects, and allows projects to be extended by the client.

  • The new Projects API was completed, tested and pushed to the master branch of github. This new Porjects API closed many outstanding issues. See blocknetdx/eth-payment-processor#35 for details. After that PR was merged and some testing was done, a few more minor changes were made to fix minor bugs discovered by @shorn and myself. There are no known bugs in the new Projects API at this time.

  • api docs and main docs portal were updated to reflect the changes to the payment processor.

  • Created Dockerfile to build XQ v2 image.

  • Create workflow to build/push new XQ v2 image on merges to master in the xquery2 repo.

  • Rewrote sections of SNode builder tools and J2 templates to deploy XQ v2 instead of XQ v1.

  • Updated XQuery section of API docs to be relevant to XQ v2 API usage instead of XQ v1 usage.

  • Created a diagram to illustrate the various components of XLite, the XLite daemon and its consensus mechanism, and the relationships between all these components.

  • Updated documentation to include information about making/taking partial orders. (See Make Order and Take Order fold-out sections here: https://docs.blocknet.org/blockdx/trading/)

  • Updated some broken links in the docs related to XLite and Blocknet core wallet bootstrap file.

  • Lots of minor cleanups here and there of the whole docs portal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment