TON Дев Чат
(30 / 5,303) x 151,277 = 856 TON
tonweb.wallet.create({publicKey, wc: 1})
Yep!
- это значит, что нашёлfgrep "Yep!" ~/.local/share/mytoncore/mytoncore.log
/usr/src/mytonctrl/mytoncore.py
заменить строку. Указать в параметре -G нужное количество тредов (макс. 1792)args = ["-vv", "-g0", "-G8", "-t", miningTime, minerAddr, params["seed"], params["complexity"], params["iterations"], powAddr, filePath]
2) Остановить сервис mytoncoresystemctl stop mytoncore.service
~/.local/share/mytoncore/mytoncore.db
"miner": {4) Запустить mytoncore
"appPath": "/usr/bin/ton/crypto/pow-miner-cuda"
}
systemctl start mytoncore.service
set minerAddr your_wallet_address
7) Запустить майнингmon
<branch>
скачивать для NVIDIA Tesla T4? Так как команда выглядит вот так : $ sudo apt-get install cuda-drivers-<branch>
validator-console
>getstats
"liteservers" : [
{
"@type" : "engine.liteServer",
"id" : "Xzb2h4zvIbJeAseDJ2l8oP4BRpse60Z9YqS6D4CWtLU=",
"port" : 29404
}
],
/usr/bin/lite-client
mytonctrl
installer
plsc
export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
-m full
validator-engine
-m full
настраивает все (кроме архивной ноды - там еще те танцы)/var/ton-work
() advance_seqno() inline_ref {
var ds = get_data().begin_parse();
var seqno = ds~load_uint(32);
var data = ds~load_uint(512);
set_data(begin_cell().store_uint(seqno + 1, 32).store_uint(data, 512).end_cell());
}
() recv_internal(slice in_msg) impure {
advance_seqno();
}
() recv_external(slice in_msg) impure {
accept_message();
advance_seqno();
}
int seqno() method_id {
return get_data().begin_parse().preload_uint(32);
}
0x566f7465
не может быть просто рандомом?
566f7465
-> Vote
bounce
, поскольку иначе можно послать неполное сообщение на электор и навсегда залочить на нём свои деньги.throw_unless(35, flags & 2);
throw_unless(35, flags == 2);
tail
и var op = cs~load_uint(32);
: ты уверен, что mtc всегда кладет тело сообщения в ту же ячейку? cs~load_uint(32);
можно cs~skip_bits(32);
или сразу return cs.skip_bits(32).preload_uint(256);
(не будет лишней операции DROP).if (delta < 300) {
return 300 - delta;
} else {
return 0;
}
return max(300 - delta, 0);
(это тоже немного эффективнее,, так как для MAX есть отдельный опкод)restricted_last_tx = dt;
всегда, а не только в ифе
flags = cs~load_uint(4);
старшие биты идут раньше младших (big-endian)
;; Load body
var external_body = cs~load_uint(1);
var body = cs;
if (external_body == 1) {
body = cs~load_ref().begin_parse();
cs.end_parse();
}
var op = body~load_uint(32);
body.end_parse();
global.config.json
)
memory=$(cat /proc/meminfo | grep MemAvailable | awk '{print $2}')
echo $memory
let "cpuNumber = memory / 2100000"
echo $cpuNumber