Cointime

Download App
iOS & Android

Обзор контракта АО и получение исходного кода

Validated Project

Хотите узнать механизм действия контракта, применяемый на АО? Итак, давайте возьмем код контракта и выясним. Используйте апплет Python, чтобы легко получить контракт указанного процесса.

Автор: txohyeah

Проверил: outprog

Источник: Гильдия контента – Новости

Введение в АО

Что такое АО?

Прошло меньше полугода с момента выпуска тестовой сети AO, а контента об AO много. Содержание этой статьи в основном посвящено процессам и смарт-контрактам, включая то, что такое AO, что такое процесс и его жизнь. цикл Процесса. Наконец, мы сосредоточимся на том, как просмотреть код контракта Process.

AO — это вычислительная функция, разработанная Arweave на основе улучшения распределенного хранилища. Она направлена ​​на достижение комплексной децентрализованной поддержки приложений и соответствует пути развития вычислений Ethereum, а затем хранения. Проще говоря, AO представляет собой смарт-контракты или вычислительную мощность на платформе Arweave и является расширением логического уровня поверх решения постоянного хранения.

АО состоит из трех подразделений: МУ/СУ/КУ.

MU: Получает сообщения, отправленные пользователями, чтобы убедиться, что они подписаны.

СУ: Ставьте временные метки и сортируйте сообщения, затем группируйте их и публикуйте в Arweave. СУ также является главным героем, которого мы будем использовать сегодня, и он сыграет важную роль при рассмотрении контракта позже.

БЧ: Обработайте сообщение и подсчитайте результат.

Какой процесс выполняется на AO?

Какой процесс выполняется на AO?

AO, по сути, представляет собой суперпараллельный компьютер, построенный на основе протокола данных, где форма существования данных является базовым элементом сообщения, определенным в AO. Далее Процесс играет важную роль в обработке Сообщения и является базовой единицей обработки сообщений на АО. Процесс выполняется на CU и может рассматриваться как виртуальная машина на CU. Таким образом, Process содержит базовую возможность получать и отправлять сообщения внутри сети. Затем разработчики создают возможности обработки сообщений для Process, добавляя в Process обработчики. Контракт, который будет обсуждаться позже, фактически развертывается путем отправки сообщения в Process и последующего использования встроенного обработчика _eval. Добавленный обработчик можно понимать как функцию обработки сообщений контракта.

Жизненный цикл процесса

Если мы хотим найти аналогию в нашем нынешнем мире, то я думаю, что контейнер (Container) в докере может стать хорошим сравнением и пониманием Process. Далее я буду использовать жизненный цикл контейнера в докере, чтобы сравнить жизненный цикл процесса.

Все мы знаем, что создание Контейнера в докере зависит от образа (Image). Например, создайте Контейнер MySQL на основе Образа MySQL, а затем вы сможете вызвать сервис MySQL на этом контейнере. То же самое относится и к процессам в АО. Создание процесса зависит от модуля, а также будут модули с разными функциями. Есть самые простые модули, модули, поддерживающие запланированные задачи, и модули, включающие sqlite. В настоящее время разработчики могут выбирать из сотен модулей для создания собственного процесса. Кроме того, вы также можете создать свой собственный модуль. Я считаю, что в ближайшем будущем также появятся модули, поддерживающие графические процессоры, и модули, поддерживающие различные возможности искусственного интеллекта.

Процесс в AO также отличается от контейнера в докере. Контейнеры в Docker поддерживают различные действия, такие как запуск, остановка и удаление. В настоящее время в Процессе АО таких операций нет. В конце концов, в мире децентрализованных приложений эти функции, контролируемые централизованными лицами, кажутся очень противоречивыми. Запуск процесса в АО полностью зависит от ценности самого процесса. Если он имеет достаточную ценность, то больше CU определенно захотят его запустить. Напротив, если процесс не имеет ценности, ни один CU не захочет его запускать. Тогда Этот Процесс исчезнет молча.

Функция оценки и развертывание контракта AO

Что такое контракт АО? Сравните смарт-контракты Ethereum. Код Lua в процессе, работающем на AO, можно приблизительно рассматривать как смарт-контракт.

Когда мы создаем Процесс, каждый загруженный Модуль будет иметь два обработчика по умолчанию (под обработчиками можно понимать функции, открытые для других Процессов), одним из которых является обработчик _eval. Основная функция этого обработчика — запуск кода Lua. Например, если вы введете 1+1 в aos, будет возвращено 2, которое обрабатывается этим обработчиком. Тогда контракт на развертывание фактически означает отправку сообщения в Процесс и добавление специального обработчика, который может обрабатывать бизнес-логику, в Процесс через обработчик _eval.

Следует отметить одну вещь: см. код ниже. Это раздел кода в файлеprocess.lua официального проекта AO с открытым исходным кодом. Обработчик _eval может быть выполнен только в том случае, если отправитель сообщения соответствует владельцу процесса (владельцем является адрес кошелька при создании контракта). То есть, если для Владельца установлено значение ноль (т. е. для Процесса установлено отсутствие Владельца), то контракт в Процессе становится контрактом, который никто не может изменить.

Кроме того, поскольку AO фактически построен на основе парадигмы консенсуса на основе хранилища (SCP, парадигма консенсуса на основе хранилища), действующий контракт должен быть найден на основе «консенсуса хранилища», то есть всех сообщений, выполняемых в процессе, включая через Код контракта, развернутый обработчиком _eval, хранится в Arweave. Таким образом, любой желающий может найти код контракта на этом «консенсусе хранилища».

Посмотреть контракт

Итак, переходя к сегодняшней теме: как найти код контракта? Ниже я представлю два метода и приведу программу на Python для захвата контракта.

Arweave

Первый метод — это, конечно, запрос непосредственно в Arweave (вы можете использоватьgraphql https://arweave.net/graphql). Этот подход требует, чтобы данные были упакованы в Arweave, чтобы быть полезными.

СУ – Браузер

Второй метод – это метод, который в основном применяется сегодня. Поскольку все данные будут загружаться через SU, их также можно запросить через SU. Лично я считаю, что у каждого SU будет локальный кэш загружаемых данных, поэтому соответствующий код контракта можно узнать, запросив SU. Во-первых, вы можете сделать запрос напрямую, введя адрес в браузере. Однако недостатки этого метода также очевидны: 1. Некоторые процессы отправляют и получают огромные объемы сообщений, поэтому объем загружаемых в цепочку данных также огромен. Однако данные, которые браузер может загрузить, ограничены, и часто происходят сбои браузера. 2. Трудно отфильтровать нужные данные контракта из огромного количества данных.

На рисунке ниже показаны все сообщения процесса (процесса токена АО) с идентификатором процесса m3PaWzK4PTG9lAaqYQPaPdOcXdO8hYqi5Fe9NWqXd0w в пределах двух временных меток.

СУ-СДК

Здесь я написал небольшую программу, используя ao sdk, написанный лидером отрасли на основе Python, для фильтрации сообщений, действием которых является Eval. (Сообщения, действие которых — Eval, — это все сообщения, обработанные обработчиком _eval, включая загруженный код контракта.) На следующем рисунке показано сообщение, которое я получил от SU, в котором содержимое поля данных представляет собой экранированный код контракта. Конечно, захваченные сообщения также будут содержать содержимое кода контракта, не связанное с развертыванием, например выполнение 1 + 1 и т. д. Однако количество сообщений после фильтрации уже невелико, и код контракта можно выбрать вручную.

Программа с открытым исходным кодом, вот адрес github: https://github.com/txohyeah/ao-sc

Контракт токена АО

Итак, давайте взглянем на код контракта токена ao. (Захваченный код контракта также будет размещен в хранилище открытого исходного кода)

Во-первых, при инициализации состояния TotalSupply = «21000000000000000000» определяется как соответствующее выпуску биткойнов.

Деноминация = Деноминация или 12 также определяет десятичную точку как 12 цифр.

Определено, что если функция передачи выполняется до того, как будут сгенерированы 100 000 блоков, «Передача заблокирована» будет возвращена напрямую.

Поскольку блок генерируется каждые пять минут, то 100 000 блоков будут примерно в феврале следующего года.

Есть более актуальная информация, поэтому не буду вдаваться в подробности. Каждый может с удовольствием просмотреть этот классический контракт АО.

Инструкции по программе

Есть более актуальная информация, поэтому не буду вдаваться в подробности. Каждый может с удовольствием просмотреть этот классический контракт АО.

Инструкции по программе

Я представил захваченный код контракта выше. Далее я кратко представлю эту программу. Это очень просто, я верю, что люди, не знающие кода, смогут легко им воспользоваться.

Первым шагом является установка версии Python 3.12. Программа написана на питоне, установка питона необходима.

Второй шаг — установка необходимых пакетов. Эта программа опирается на SDK лидеров отрасли и Everpay.

Третий шаг — изменить start_time/end_time/process в fetch_sc_record.py. И выполните fetch_sc_record.py.

start_time и end_time — это периоды времени, которые вам нужно зафиксировать. процесс — это идентификатор процесса, который вам нужен для захвата контракта.

На четвертом шаге соответствующее сообщение Eval появится в файле msg_eval.json. Просмотрите сообщения и вы сможете найти нужный вам код контракта!

PS: Это также должно быть так же, как запуск aos. Установите HTTPS_PROXY.

🏆 Призы за «поимку ошибок»: если вы обнаружите в этой статье опечатки, неправильные предложения или неправильные описания, нажмите «Мне», чтобы сообщить об этом, и вы получите поощрения.

Отказ от ответственности: эта статья не отражает точку зрения или позицию PermaDAO. PermaDAO не предоставляет инвестиционных консультаций и не поддерживает какие-либо проекты. Читателей просят соблюдать законы страны, в которой они находятся, и вести деятельность в Web3 в соответствии с ними.

🔗 О PermaDAO: Веб-сайт | Telegram | Discord |

Комментарий

Все комментарии

Рекомендуем к прочтению

  • Clearstream от Deutsche Börse начнет предлагать услуги по хранению биткоинов и эфириума в апреле

    Постторговое подразделение Deutsche Boerse Clearstream объявило, что в апреле этого года начнет предлагать услуги по расчетам и хранению криптовалют институциональным клиентам. Согласно заявлению Clearstream, опубликованному 11 марта, компания планирует предоставлять услуги Bitcoin и Ethereum своим 2500 клиентам через свою дочернюю компанию Crypto Finance, которая является ее основным акционером и выступает в качестве субкастодиана. В будущем Clearstream также планирует расширить поддержку других криптовалют и предоставлять такие услуги, как стейкинг, кредитование и брокерские услуги.

  • Сообщается, что SoftBank ведет переговоры о привлечении 16 миллиардов долларов для инвестиций в искусственный интеллект

    SoftBank ведет переговоры о предоставлении кредита в размере до 16 миллиардов долларов специально для продвижения своих проектов в области искусственного интеллекта. Разработка последовала за крупным заимствованием в размере 18,5 млрд долларов и свидетельствует об агрессивном движении компании в сторону искусственного интеллекта. Сообщается, что SoftBank может запросить новый раунд кредитования на сумму до 8 млрд долларов США в начале 2026 года. (Информация)

  • Соединенные Штаты вступили в эпоху резервов Bitcoin. Может ли круглый стол Белого дома выпустить больше политических сигналов?

    Возможно, это не тот позитивный фактор, который может немедленно переломить текущую ситуацию на рынке, но нет сомнений, что это будет решение, которое войдет в историю.

  • Citi: понизил рейтинг акций США до нейтрального, повысил рейтинг акций Китая до «выше рынка»

    Стратеги Citigroup понизили рейтинг акций США с «выше рынка» до «нейтрального», а рейтинг акций Китая повысили до «выше рынка», сославшись на «по крайней мере паузу в американской исключительности». Дирк Виллер, руководитель отдела макроэкономических исследований и распределения активов Citigroup, заявил, что Citigroup с октября 2023 года держит перевес на американских акциях, но способность американских акций опережать рынок явно подорвана. Он ожидает, что в ближайшие месяцы появятся еще более негативные экономические данные по США, и его нейтральный взгляд основан на временных рамках от трех до шести месяцев. Между тем, Citi полагает, что китайские акции остаются привлекательными даже после недавнего подъема, чему способствуют такие факторы, как прорыв в области технологий искусственного интеллекта DeepSeek, государственная поддержка технологической отрасли и низкие оценки. С начала года индекс S&P 500 снизился на 4,5%, в то время как индекс китайских акций, котирующихся на Гонконгской фондовой бирже, вырос на 20%, что делает его одним из лучших показателей 2025 года. Goldman Sachs в своем последнем исследовательском отчете также отметил, что при условии реализации политики и постепенного увеличения прибыли на китайском фондовом рынке все еще сохраняется потенциал роста. По оценкам Goldman Sachs, если глобальные паевые инвестиционные фонды увеличат свои вложения в китайские акции на 1 процентный пункт, рынок может увидеть чистые покупки на сумму 8 миллиардов долларов.

  • Avalon Labs обеспечивает кредитную линию на сумму более 2 миллиардов долларов для продвижения институционального кредитования, обеспеченного биткоинами

    Компания Avalon Labs объявила об успешном получении минимальной кредитной линии в размере 2 млрд долларов США, предоставленной известным азиатским консорциумом, что стало важной вехой в институциональном кредитовании в криптоиндустрии. Этот исторический прорыв является не только важной вехой в институциональном развитии DeFi, но и подчеркивает стратегическое положение Биткоина в мировой финансовой системе. Avalon Labs будет использовать эту кредитную поддержку для предоставления учреждениям ликвидности USDT институционального уровня, одновременно создавая более надежную и эффективную систему кредитования с избыточным обеспечением в биткоинах с фиксированной ставкой кредитования 8% и механизмом получения дохода на основе стейблкоина USDa.

  • Financial Times: Банки и финансовые учреждения присоединяются к «золотой лихорадке стейблкоинов»

    По данным Financial Times, несколько крупных банков и финтех-компаний по всему миру спешат запустить собственные стейблкоины, чтобы захватить долю рынка трансграничных платежей, который, как ожидается, изменится под влиянием криптовалют. В прошлом месяце Bank of America заявил, что открыт для выпуска собственной стабильной монеты, присоединившись к таким платежным провайдерам, как Standard Chartered, PayPal, Revolut и Stripe, которые уже вышли на этот рынок. Саймон Тейлор, соучредитель консалтинговой компании 11:FS в сфере финтеха, сравнил это явление с FOMO (страх упустить что-то): «Это люди, продающие лопаты во время золотой лихорадки стейблкоинов. Другой движущей силой является реальный объем торговли, основатели хотят урвать кусок пирога, потому что знают, что регулирование стейблкоинов грядет, поэтому все эти факторы объединяются». Мартин Миньо, партнер Index Ventures и сторонник Bridge, сказал, что стейблкоины «привлекательны» на рынках, на которых отсутствует «хорошая инфраструктура или ликвидность и существует большой валютный риск», но вариант использования на западных рынках «не столь очевиден». Аналитики предупреждают, что рынок вряд ли выдержит десятки стейблкоинов, поскольку пользователи начинают внимательно изучать качество компаний-эмитентов. Тейлор отметил, что стейблкоины — это не наличные деньги, а скорее заменитель наличных денег, который отражает кредитный риск компании-эмитента и ее способность управлять операционным риском: «По сути, бренд стейблкоина говорит вам, кто является эмитентом. Так как эмитентом является эта организация, ваш кредитный риск — X или Y. Этого вы не сделаете с долларами».

  • Сегодня Сальвадор добавил 5 BTC, и теперь общие активы достигли 6111 BTC.

    Данные блокчейна показывают, что 2 часа назад Сальвадор увеличил свои активы на 5 BTC (415 000 долларов США), доведя свои общие активы до 6 111 BTC на сумму 492,5 миллиона долларов США.

  • Законопроект о биткоине в штате Юта принят Сенатом штата, но ключевые положения удалены

    Законопроект о биткоине в Юте принят сенатом штата, но из него удалены основные положения. Это положение сделало бы Юту первым штатом в США, имеющим собственный резерв биткоинов. Законопроект HB230 «Поправки о блокчейне и цифровых инновациях» в настоящее время предоставляет гражданам штата Юта только базовые гарантии безопасности, предоставляя им право майнить биткоины, запускать узлы и участвовать в стейкинге. 7 марта законопроект был принят 19 голосами «за», 7 голосами «против» и 3 воздержавшимися. Затем он будет направлен губернатору Юты Спенсеру Коксу для подписания.

  • Доходность 10-летних казначейских облигаций США упала на 6 базисных пунктов до 4,257%.

    Доходность 10-летних казначейских облигаций США упала на 6 базисных пунктов до 4,257%, а доходность 2-летних казначейских облигаций упала на 4 базисных пункта до 3,9624%. (Золотая десятка)