ECAD Labs усердно работает над расширением и улучшением библиотеки TypeScript Taquito для Tezos. В ходе наших испытаний и невзгод мы обнаружили определенные болевые точки, в том числе необходимость быстрого копирования, тестирования и развертывания новых контрактов без использования интерфейса командной строки.

Так родился наш любимый новый инструмент для экономии времени - Джордж Клони.

Мистер Клони такой джентльмен, что поможет вам клонировать контракты из любой сети Tezos (тестовой или основной) в любую другую сеть Tezos (тестовую или основную) всего за несколько кликов.

Пожалуйста, присаживайтесь, налейте шампанского и присоединитесь к мистеру Клони в коротком и назидательном путешествии, чтобы узнать, как работает эта услуга. Джордж попросит вас дублировать и развертывать контракты за 3 простых шага.

Мистер Службу Клони не следует путать с мистером Клуни-человеком, который, как нас уверяли, тоже джентльмен. Хотя г-н Клуни не поддержал г-на Клони, нам хотелось бы думать, что он поддержал бы его, если бы решил заняться разработкой dApp. Подражание - самая искренняя форма лести. 😉

ПРИМЕЧАНИЕ: Джордж стремится к тому, чтобы у вас был безупречный опыт. Если вы в какой-то момент почувствуете, что застряли, просмотрите всплывающую подсказку на каждом шаге, чтобы получить напоминание о том, что делает этот шаг.

Шаг 1. Получите контракт

Чтобы достичь неизбежной цели Джорджа облегчить вам жизнь, мистеру Клони нужно знать, какой контракт вы хотите скопировать и где он находится.

Для шага 1 у него есть только два требования:
1) Выберите сеть, из которой нужно получить контракт
2) Вставьте адрес контракта.

Под капотом Джордж будет запускать методы Taquito, которые позволяют вам выбирать, с каким узлом блокчейна Tezos взаимодействовать и какой контракт выбрать. Это выполняется двумя простыми строками, которые выглядят так:

Tezos.setProvider({rpc: ‘https://api.tez.ie/rpc/network-here'});
Tezos.contract.at(contractAddress);

🚀

Шаг 2: проверьте контракт

Теперь, когда Джордж проявил такую ​​любезность и дал желаемый контракт, он категорически настаивает на том, чтобы вы изучили его, если захотите.

На шаге 2 у него есть только одно требование:
1) Изучите код контракта.

На этом этапе вы просто видите визуальное представление кода, полученного с помощью этого метода Такито:

const contract = Tezos.contract.at(contractAddress);
// Code shown in the left box
contract.script.code
// Code shown in the right box
contract.script.storage

Код контракта показан в левом поле, а хранилище контракта показано в правом поле. Как видите, эти переменные привязаны к ответу, который мы получаем от вызова Tezos.contract.at (contractAddress).

ПРИМЕЧАНИЕ: Джордж понимает сожаление. По его словам, после завершения шага 1 вы всегда можете нажать большую красную кнопку Сбросить Джорджа Клони, если хотите начать это путешествие с самого начала.

🚀

Шаг 3: Разверните контракт

Теперь, когда Джордж нашел и предоставил вам возможность проверить желаемый контракт, пришло время Джорджу творить чудеса и создать свою собственную копию!

На шаге 3 у него есть только два требования:
1) Выберите сеть для развертывания
2) Выберите подписывающего лица.

На этом шаге вы выберете сеть и подписывающего лица для развертывания (создания) нового контракта.

Вы можете бесплатно развернуть Tezos в любой сети, включая персонализированную локальную сеть!

Вы также можете подписать операцию с помощью одного из нескольких сервисов кошелька. К ним относятся Beacon и Tezbridge, или вы можете разрешить нам подписывать автоматически, если вы развертываете свой контракт в тестовой сети.

Вот простой код Taquito, использованный под капотом, чтобы упростить жизнь Джорджа:

Настройка подписывающего лица

// Beacon setup
 const beaconWallet = new BeaconWallet({
 name: “George Cloney”,
 });
 await beaconWallet.client.init();
 await beaconWallet.client.removeAllPeers();
 await requestBeaconPermissions(beaconWallet, launchNetwork);
 
// Tezbridge Setup 
await Tezos.setProvider({ wallet: new TezBridgeWallet() });

Запуск контракта

await Tezos.wallet
 .originate({
 code: code as MichelsonV1Expression[],
 storage: storage as MichelsonV1Expression,
 })
 .send()
 .then((originationOp) => {
 return originationOp.contract();
 })

И вот так ваш контракт будет внедрен в блокчейн Tezos.

А теперь грандиозный финал! 🥳

🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

Теперь вы увидите, что Джордж любезно заключил для вас новый контракт и решил отпраздновать это конфетти! 🤗 Такой классный парень!

Он также предоставил вам ряд исследователей блоков на выбор, чтобы просмотреть вашу недавнюю транзакцию в цепочке блоков Tezos.

Не стесняйтесь пользоваться услугами Джорджа Клони в любое время по адресу https://cloney.tezostaquito.io/

Если вы хотите сообщить об ошибках или проблемах с инструментом, вы можете сделать это на странице https://ecadlabs.github.io/george-cloney/.

ПРИМЕЧАНИЕ. С этого момента ваш контракт доступен, нажав кнопку Просмотреть последний созданный контракт. Джордж знает, что на вечеринках люди могут быть забывчивыми!

🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉