Upsetin / noss-mint-script

noss auto mint scirpt.
49 stars 20 forks source link

这玩意没用吧,改24线程运行,cpu占用率才7.2%, #16

Open ethfly opened 9 months ago

ethfly commented 9 months ago

这玩意没用吧,改24线程运行,cpu占用率才7.2%,

太假了,7.2%的cpu占用率,用啥挖呢?空气吗。。。

image

peizhiluo007 commented 9 months ago

这是因为用的threading.Thread,要修改一下代码。 《 先摘录一段解释:
Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。Python在设置之初就考虑到要在解释器主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时刻,只有一个程序在CPU中运行。 》 要具体怎么修改呢? 1>把 threading.Thread改成multiprocessing.Process,多进程模式,就可以吃满CPU了。 2>但是仅改multiprocessing.Process还是不行。因为multiprocessing中,不同进程的变量是独立的。 所以还要用:multiprocessing.Manager.Value对需要在进程间同步的变量(last_event_id)进行修改。

peizhiluo007 commented 9 months ago

为了让性能更好一些,最好还要再做一些优化: 1>把获取arb区块的活事独立到一个进程中,并行处理。 2>把main函数中一些重复的活,挪出去,缩短pow_id的计算执行的长度。 3>对random_once做cache ....... 这些做好了。找一台32核的主机开始跑,CPU全部100%跑满。 然后,结果怎么样? ---> 遇到问题:

Access denied | api-worker.noscription.org used Cloudflare to restrict access

--->???这是个啥意思呢?

就是,程序往"https://api-worker.noscription.org/inscribe/postEvent"这个地址上postEvent的时候。 被这台服务器端的说部署着的Cloudflare(理解为防火墙)检测出来。它检测到这个不是一个正常浏览器的行为方式,可能是一种恶意的攻击行为(比如DDOS),就直接拒绝掉了。

---> 怎么办呢?: 想办法,骗过Cloudflare的检测规则。 在最新的更新中,作者已经做过努力: from curl_cffi import requests impersonate="chrome110", 就是为了模拟浏览器的指纹。但是多核一起跑,请求多了还是会被限制。

You are being rate limited The owner of this website (api-worker.noscription.org) has banned you temporarily from accessing this website.

要怎么搞呢?

Upsetin commented 8 months ago

impersonate

impersonate

为了让性能更好一些,最好还要再做一些优化: 1>把获取arb区块的活事独立到一个进程中,并行处理。 2>把main函数中一些重复的活,挪出去,缩短pow_id的计算执行的长度。 3>对random_once做cache ....... 这些做好了。找一台32核的主机开始跑,CPU全部100%跑满。 然后,结果怎么样? ---> 遇到问题:

Access denied | api-worker.noscription.org used Cloudflare to restrict access

--->???这是个啥意思呢?

就是,程序往"https://api-worker.noscription.org/inscribe/postEvent"这个地址上postEvent的时候。 被这台服务器端的说部署着的Cloudflare(理解为防火墙)检测出来。它检测到这个不是一个正常浏览器的行为方式,可能是一种恶意的攻击行为(比如DDOS),就直接拒绝掉了。

---> 怎么办呢?:

想办法,骗过Cloudflare的检测规则。 在最新的更新中,作者已经做过努力: from curl_cffi import requests impersonate="chrome110", 就是为了模拟浏览器的指纹。但是多核一起跑,请求多了还是会被限制。

You are being rate limited

The owner of this website (api-worker.noscription.org) has banned you temporarily from accessing this website. 要怎么搞呢?

首先很感谢您用宝贵的时间对issue提出宝贵的意见,对于过CF的检测,在请求传入参数中impersonate="chrome110",这里可以修改为impersonate=random.choice(['edge99', 'edge101', 'chrome99', 'chrome100', 'chrome101', 'chrome104', 'chrome107', 'chrome110','chrome99_android', 'safari15_3', 'safari15_5']),可以在一定程度上提高请求成功率。再次感谢您所作出的宝贵贡献🫡!

zemelLeong commented 8 months ago

貌似签名算法搞错了