Loading [a11y]/accessibility-menu.js
2-tags-invalid-in-this-post aaa account account-activation account-creation account-recovery account-registration account-tickets acknowledgements actnearn adblue admin-menu ads adsblocker adsense adult-toy advertisement afternoon-tea agile agile-development ahmdal-law algorithm algorithms amazon american-express amex amp android-pay animal-drawing anniversary antibiotic antibiotics api apology app artificial-intelligence attributeerror audi authentication autumn babies backup baidu balance-transfer banding bank bank-of-china bankofchina baptism base64 bash bbq bcc beauty bedfordshire beer bible bicester bicycle-safety bing-wallpaper birthday birthday-party bisteemit bitasset bitcoin bitcoin-cash bitcoin-gold bitcoin-hd bitcoins blackmail-email block blockchain blockchain-overview blocktrades blog bluetooth blurt bmw-z4 bonfire bonfire-night boost bot bots bounty bowling boys-girls brainfuck brent-cross british-breakfast british-museum british-passport british-phd broadcast-error bruteforce bug bug-hunting bugs burndown-chart busy busyorg c-plusplus c-sharp cambridge cambridge-park camera camera-lens camping canon-lens car career cat certificates challenge chart chessboard childcare childhood children chinese chinese-characters chinese-chess christ christmas christmas-present chrome chrome-extension chrome-extensions chunwan cinderella cinema claim-account claim-rewards cloud-vps cloudflare cn cn-18 cn-2017 cn-bank cn-contest cn-cryptocurrency cn-curation cn-foodporn cn-love cn-members cn-midautumn cn-music cn-programming cn-reader cn-stats cn-tools code code-refactoring code-review codeonsteem coding coding-exercise coding-styles codingforspeed coinbase colour-lens comment-feed company-events complexity compound-effect compute-pi computing condenser contact-lens contest contests convert convertible copenhagen-diet copyright counting country-garden courtyard covid-19 cpp cracking-interview create-account credit-card credit-cards credit-report crocodile-farm crontab cryptocurrency csharp curation curator curl custom-json daigou dailychina data data-structures database date dblog ddos defensive-programming defuscator delegate delegation delegationhub delegator delphi-berlin delphi-starter dental dentist development diamondtoken discord discount doctor dota dota2 download-instagram doxxing dragon-boat drama drawing dream driving driving-insurance driving-othercars dtube dtube-farm dtube-lavender dvla dynamic-programming eat efs-24mm egg electricity-bill email en engineering entry-exams eos eq esteem event events everlasting-moments excel exchange-blast exercise exercise-daily extraction fairytale family family-bonding farm fashion fen-drayton fendrayton fever fiat fibre-broadband fifth-anniversary fight-spam finance-freedom firetrucks fireworks first-experience first-pay first-post fith-grade flat-tyres follow food football fractal framework free-fruits freelancer freespace full-node full-service fun fun-guess funny gadget game games gaming gardening gas-bill github giveaway god google gopro goto graduation graphics gratuity green-park guest-posts gym hacktoberfest halloween hamerton-zoo happy-kids happy-newyear happynewyear harddisk-review hardware hashtable health helloworld hf20 high-heel highheel hinchingbrooke history hive-180932 hmrc hospital house house-decorating house-price house-wife houses html https hubsan-drone huntingdon ico ide-tools ideas ifttt ilovecoding image-optimizer images incident include infant-schoolmeals information injection insurance-group insurance-types interests interview interview-question introduceourselves introduceyourself introduceyouself ip-address ip-addresses iphone-se java javascript jjm job-search job-searching jobs jogging jscript json justyy keyboard keyinput kids-imagination kses lake lassecash latex lavender learning lease-sp lease-steem leetcode legs lens life life-insurance linkedin linq linux load-balancer login logo logo-turtle logout london love luton luxury-shopping m3u8 machine-learning magic-number magik management markdown-table marlians marriage marryinuk mastercard math math-competition math-puzzle math-story mediaofficials meetup meipai-video memory mercede-benz miaopai-video microsoft microsoft-research midlife-crisis milking minnowbooster minnows minnowsupport moderator moments money mongdb monitors montecarlo-simulation mortgage-protector movie msscript multicolumn museum music music-school mute muted mysql natwest neoxian network network-infrastructure news nginx nhs nobrainer node nodejs nodes notification npm npm-js obfuscator offer offschool-policy ofo-cambridge ofsted old-macdonald online-offline online-tools open-source optimisation oracle-d outdoors overfitting paid-posts painting pal palnet parallel parallel-computing partiko passport password pathloss payout paypal paypal-credit paypal-fees pearvideo pengyouquan pension peppa-pig performance peterborough phd phd-process phd-scheme phd-thesis phone photo photo-api photography photos php php-checker php-image phpunit piano piles pingspeed pinyin plugins plusnet pm2 poker-game poloniex-wallet porn-https portrait powerdown powershell premium pretty preview primary-school privileged probability producer-reward profiler programmers programmers-chair programming programming-job project projects promo-china promo-cn promo-steem promo-steemit promo-utopian propagation pub pub-food pumpkin puzzles python qr-image qrimage quality-ham questions r-language r-programming radiowave radiowave-propagation railway random-picture ranking recall recovery-account recursion recycle-center red refund registration regulations replay reputation resilience resteem retro reward-account rewards rio-olympics robin-li robot rot47 roundup rpc rpc-node rss ruin-life rule-checker running saas sbd sbd-bitcoins sbd-steemit school-house schoold scriptcontrol scripting scriptingcontrol sct sct-cn sct-freeboard seagate-sshd security selfie selling seo server server-upgrade servers sevendaybnwchallenge shares sheffield shell shoes show-ip siblings sigmoid simplified-chinese singapore-vps slack smart-glasses sniper snow soft-fork software software-development software-engineer software-engineering solar-panel soup southend sp-lease spam spanish-serrano speeding-penalties sports spring-festival springfestival2017 spt sql sqlite ssh ssl-certificates st-ives statistics stats steem steem-account steem-accounts steem-api steem-apis steem-block steem-bug steem-couples steem-dev steem-engine steem-guides steem-information steem-js steem-node steem-nodes steem-payout steem-power steem-python steem-revenues steem-sql steem-stats steem-story steem-tips steem-tool steem-tools steem-tshirt steem-tutorial steem-ua steem-whale steem-witness steem-witnesses steemapi steemapp steemapps steemcoinpain steemconnect steemd steemdev steemhunt steemit steemit-api steemit-bug steemit-bugs steemit-stats steemit-witness steemitboard steemjs steemleo steempower steemsql steemstem steemtool steemtools steemvbs steemvoter stellar stock-option storage-sense stories story strawberry-picking street-portrait study study-room submit-button subsystem summative-record summer sunglass sushi swimming-pool table tags talks task-development task-request task-runner tatoo tdd tea-break teaching team-building teamsteem teamviewer tech-news technical-debt technology tesco testing the-fox the-invalid-tags threatening tips-uk title-register toilet-flush token tomyam-soup tools traditional-chinese traffic translation translator travel travel-document trends-website triangle turtle-graphics tutorial tutorials twenty-seventeen twitter two-boys tyres ua ubuntu uk uk-bank uk-creditcard uk-freelunch uk-gp uk-hospital uk-nursey uk-pub uk-pupils uk-taxcode unit-test unit-testing unit-tests upfundme upvote upvoting-bot url url-shortener utopian utopian-api utopian-bots utopian-bugs utopian-io utopianmodintro valentine valentines vbs vbscript vertical-monitors vessel video video-download video-downloader vintage-computers visa visa-debit voting-bot vps vr wallet wallet-tool wallets warning wasted-food web-tool wechat wechat-bot wechat-group wedding weechat weedkiller weibo-video weibomiaopai weight-control weight-loss wfh whalepower whales whatis-1024 wherein wherein-daka win32 windows windscreen-replacement windsor-castle wipe-disk wireless wireless-attenuation wireless-propagation wirex witness witness-category witness-cateogry witness-factor witness-news witness-node witness-nodes witness-page witness-plugins witness-proxy witness-ranking witness-report witness-server witness-servers witness-tool witness-tools witness-update witness-votes wordpress wordpress-themes work workfromhome writing wubi wxt xargs xiaokaixiu year2016 youtube yoyow zcash zenefit zoo zram zurich-insurance zzan

Load Balancing CloudFlare Worker Unlimited Requests Statistics To-date

I have enabled the CloudFlare Unlimited Worker last week, and this gives the generous 50ms CPU cycle for request, and 10Million Request monthly. On average, 0.33 Million (330K) requests quota every day.

image.png

image.png

Mainly the Load Balancing Node spends time in pinging the candidate RPC nodes that is the fetch - which does not cost the CPU time.

However, as CF limits maximum 6 requests at a time, that is only 6 simutaneous pings will be done and the rest will be put in the queue. But that is good enough for now.

I’ll keep monitoring the performance and keep optimising the Node.

For the node performance, please visit https://steemyy.com/node-status.php


Every little helps! I hope this helps!

Steem On!~

Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘Load Balancing CloudFlare Worker Unlimited Requests Statistics To-date’

Showing `Awaiting Email Activation` on Account Registration Page

I have added the following - showing the list of masked email address on the account registration page:
https://steemyy.com/reg.php

image.png

I have recently identified an account registration that the email fails to send - and thus, it would be nice to keep an eye on the list in case you are awaiting emails.

If you register an account, but fail somehow in the process, you can contact me via justyy AT zoho.com or send me a message on steem blockchain.

The emails will never be discloused and are only used later in case of Account Recovery - to prove the ownership of the accounts.


Every little helps! I hope this helps!

Steem On!~

Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘Showing Awaiting Email Activation on Account Registration Page’

A little Insight on the Steem Load Balancing RPC Node

A few days ago, I launched the “Load Balancing” Node: https://steem.justyy.workers.dev

It is a Javascript code that runs on the CloudFlare edges (more than 200 network centers). The network is the computing. When requests are received, the Node will send a ‘ping’ request to a few nodes, and whoever returns first win the request.

See this on the CloudFlare worker debugging console - the remote virtual debugger.

image.png

But all those work are behind the scenes. The user will not see these details, and the Load Balancer is just working fine - and it indicates the actual Node that served the requests via the Response’ custom header origin

image.png


Every little helps! I hope this helps!

Steem On!~

Reposted to Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘A little Insight on the Steem Load Balancing RPC Node’

How Many Zero-Transaction Blocks?

When SteemMonster moved away from Steem, I noticed that the number of transactions in a block has been drastically reduced.

That is not good, the number of transactions shows the activity on the steem blockchain, in a way indicates how popular our chain is.

With a little help, I am able to see how many blocks are having zero transactions in the last 24 hours, 7 days, and 2 weeks.

1
2
3
4
5
6
select count(1) from witnessblocks where number=0 and time>=datetime("now", "-1 day");
select count(1) from witnessblocks where number=0 and time>=datetime("now", "-7 day");
select count(1) from witnessblocks where number=0 and time>=datetime("now", "-14 day");
select count(1) from witnessblocks where number>0 and time>=datetime("now", "-1 day");
select count(1) from witnessblocks where number>0 and time>=datetime("now", "-7 day");
select count(1) from witnessblocks where number>0 and time>=datetime("now", "-14 day");

Results

Zero-transactions blocks (24 hours): 263/28257=0.9%
Zero-transactions blocks (7 days): 2000/197666=1.01%
Zero-transactions blocks (14 days): 3425/367386=0.93%

On average, there are 0.9% to 1% per day blocks are containing zero transactions. More investigations can be done once the blocks are fully re-played.


Every little helps! I hope this helps!

Steem On!~

Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘How Many Zero-Transaction Blocks?’

Updating the CoinTools Chrome Extension

CoinTool is a Chrome Extension that I developed long time ago, which can be installed at:

https://chrome.google.com/webstore/detail/coin-tools/fmglcggbdcbkpkfapngjobfeakehpcgj

However, I have not updated for ages, and since the coinmarketcap is no longer working (requires paid subscription), I have decided to make some changes to at lease replace the coin price lookup with coingecko

Merging this PR, and the update has been pushed to the Chrome Webstore.
https://github.com/DoctorLai/CoinTools/pull/21/files

However, some features are still not working, for now, I don’t have much time - and contributions are welcome!

image.png


Every little helps! I hope this helps!

Steem On!~

Reposted to Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘Updating the CoinTools Chrome Extension’

Testing Load Balance Node

In Python, we can use _threading to launch a thread easily using the _thread.start_new_thread procedure. For example,

1
2
3
4
5
6
7
import _thread

def thread_proc(threadId, value):
print(threadId, value)

_thread.start_new_thread( thread_proc, ("Thread-1", "a Number") )
_thread.start_new_thread( thread_proc, ("Thread-2", "a Number") )

Unfortunately, the above threads may not finish (and be aborted) before the main script is terminated. Because we are not synchronize the threads yet. We can however, do an easy trick:

1
2
while True:
pass

This endless loop will allow all threads to forcibly joining but the script hangs until we Ctrl+C or kill it. We can use the threading module but that requires us to write a Thread class that inherits the threading.Thread.

We can uset the threading.Event() to join the threads. For example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import _thread
import threading

def thread_proc(evt, threadId, value):
evt.set()
print(threadId, value)

evt1 = threading.Event()
evt2 = threading.Event()

_thread.start_new_thread( thread_proc, (evt1, "Thread-1", "a Number") )
_thread.start_new_thread( thread_proc, (evt2, "Thread-2", "a Number") )

evt1.wait()
evt2.wait()

Multithreading Requests to API Server using Python’s _threading Module


Let’s launch 100 threads that sends concurrent requests to a the Load Balancer Node https://steem.justyy.workers.dev. And we need to store the threading.Event() in an array so that we can join all threads.

import _thread
import threading
import json
import requests
from random import randrange

def worker(evt, threadName, block):
  data = {"jsonrpc":"2.0", "method":"condenser_api.get_block", "params":[block], "id":1}
  r = requests.post(url="https://steem.justyy.workers.dev",json=data)
  rjson = r.json()
  result = rjson["result"]
  print(threadName, len(result["transactions"]))
  evt.set()

try:
  threads = []
  for i in range(100):
    evt = threading.Event()
    threads.append(evt)
    _thread.start_new_thread( worker, (evt, "Thead-" + str(i), randrange(1, 40000000)) )
  for i in threads:
    i.wait()
except:
  print("Error2")

As expected, it will show the following:

image.png

I have also tried other nodes, and the result seems to me that all nodes can handle multiple requests at the same time from the same origin.


Every little helps! I hope this helps!

Steem On!~

Reposted to Computing and Technology

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘Testing Load Balance Node’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×