← Вернуться
VIZ блок #69721428
Array ( [0] => Array ( [trx_id] => ce59e289f10deb121fd111bd56251f7459e507d3 [block] => 69721428 [trx_in_block] => 0 [op_in_trx] => 0 [virtual_op] => 0 [timestamp] => 2025-05-19T10:09:54 [op] => Array ( [0] => custom [1] => Array ( [required_active_auths] => Array ( ) [required_regular_auths] => Array ( [0] => on1x ) [id] => V [json] => {"p":68547797,"d":{"t":"Как же хочется построить что-то в DePin... VizHub которые описывал в свое время идеально в это ложатся. Узлы, которые обслуживают юзеров и берут service fee с пользователя. Хранение файлов, тарификация переданных данных (сетевой трафик), роутинг сообщений, api с своей ценой CPU. Все это выглядит очень вкусно. Но как только начинаешь смотреть на технологии, как видишь, что не хватает некоторого софта.\n\nКлючевая вещь, как учет трафика - ложится не понятно на кого. Вот есть файл в 10 Мегабайт. Он хранится в Хабе от пользователя А. Юзер дал ссылку на него где-нибудь в сети и народ начал качать, создавая нагрузку. Хаб должен тарифицировать всю сетевую нагрузку и, условно, взять 0.1 виз за одно скачивание. Факт скачивания можно записывать в логи того же nginx. Но вот фиксировать частичные загрузки уже не получается. Прервали скачивание, как ты поймешь сколько трафика передано?\n\nВ nginx есть модули. И есть даже отдельная сборка с поддержкой языка lua в конфигах. Именно через него можно написать учет переданных байт с логированием раз в 5 секунд, например.\nНо это настолько усложняет весь хаб...\n\nПлюс к этому надо еще ограничивать скорость скачивания с каждого ip адреса, чтобы распределять нагрузку на всех участников хаба. Один супер активный участник может тормозить удобство остальных (как в shared хостинге).\n\nВот и приходится делать специфичные вещи. Сам LUA в одиночку это не сделает. Надо проксировать запрос в nodejs сервер, который будет подсчитывать логи, трафик и ограничивать юзера, выдавая нужный rate_limit через заголовок upstream_http_x_rate_limit, проброшенный через директиву auth_request.\n\nЛоги падают в файл постоянно, файл должен считываться постоянно, очищая старые записи, не допуская появления и обработки дублей или пропусков.\n\nСборка nginx + lua модуль есть от https://openresty.org/en/linux-packages.html#ubuntu, но ручная сборка сложное дело. Все это надо делать через контейнеры: https://hub.docker.com/r/openresty/openresty\n\nА это приводит к необходимости сразу вести всю разработку контейнеризованной :D"}} ) ) ) [1] => Array ( [trx_id] => 0000000000000000000000000000000000000000 [block] => 69721428 [trx_in_block] => 65535 [op_in_trx] => 0 [virtual_op] => 1 [timestamp] => 2025-05-19T10:09:57 [op] => Array ( [0] => witness_reward [1] => Array ( [witness] => yamilet [shares] => 0.199999 SHARES ) ) ) )
Соседние блоки
↑ 69721429↓ 69721427
69721478697214776972147669721475697214746972147369721472697214716972147069721469697214686972146769721466697214656972146469721463697214626972146169721460697214596972145869721457697214566972145569721454697214536972145269721451697214506972144969721448697214476972144669721445697214446972144369721442697214416972144069721439697214386972143769721436697214356972143469721433697214326972143169721430697214296972142869721427697214266972142569721424697214236972142269721421697214206972141969721418697214176972141669721415697214146972141369721412697214116972141069721409697214086972140769721406697214056972140469721403697214026972140169721400697213996972139869721397697213966972139569721394697213936972139269721391697213906972138969721388697213876972138669721385697213846972138369721382697213816972138069721379
69721478697214776972147669721475697214746972147369721472697214716972147069721469697214686972146769721466697214656972146469721463697214626972146169721460697214596972145869721457697214566972145569721454697214536972145269721451697214506972144969721448697214476972144669721445697214446972144369721442697214416972144069721439697214386972143769721436697214356972143469721433697214326972143169721430697214296972142869721427697214266972142569721424697214236972142269721421697214206972141969721418697214176972141669721415697214146972141369721412697214116972141069721409697214086972140769721406697214056972140469721403697214026972140169721400697213996972139869721397697213966972139569721394697213936972139269721391697213906972138969721388697213876972138669721385697213846972138369721382697213816972138069721379