Разработка
На этой странице объясняется, как компилировать / развертывать / тестировать / взаимодействовать со смарт-контрактами. Существует четыре основных контракта: токен Cyclone, GovernorAlpha / Timelock, Aeolus и Cyclone (Coin, ERC20).
Подготовка
Установить трюфель
npm install -g truffleУстановить зависимости
npm installУстановите
ioctl-инструмент командной строки для взаимодействия с блокчейном IoTeX
установите ioctl, следуя инструкциям: https://docs.iotex.io/developer/ioctl/install.html
Составляем контракты
npm run build:contract
Развернуть контракты
CycloneToken
Развернуть CycloneToken
ct
ioctl contract deploy bytecode CYCLONETOKEN_BYTECODE ABI_PATH '{"_operator": "OPERATOR_ADDRESS", "_lp": "INITIAL_LP_ADDRESS"}'Timelock & GovernorAlpha
Развертывать Timelock
tl
2. Развертывать GorvernorAlpha ga (например, продолжительность голосования: 3 дня)
3. Установите ожидающего администратора Timelock на GovernorAlpha ga
4. Accept Admin from GovernorAlpha ga triggered by guardian
Aeolus
Добавьте ликвидность для CYC / IOTX на MimoFactory и получите токен CYC-IOTX LP
Разверните Aeolus
asсctадресом
3. Вызовите ct.addMinter (), чтобы установить as в качестве минтеров для токена CYC
CoinCyclone, ERC20Cyclone
Развертывать Hasher
hrРазвертывать Verifier
vrРазвертывать CoinCyclone
cc, ERC20Cycloneecсвязано с Hasherhrсas,vr,ct,mfи при необходимости адрес токена XRC20Вызовите
ct.addMinter (), чтобы установитьccиecв качестве minters для токена CYCВызов
as.addAddressToWhitelist (), чтобы установитьccиecв белые списки для Aeolus, чтобы вызватьaddReward ()
Контракты на тестирование
версия узла
nvm use 11.15.0построить схемы zk
npm run buildесли вы хотите использовать
testсеть, просто запуститеnpm run test(дефолт).Если вы хотите использовать
developmentсеть,изменить truffle-config.js (раскомментировать сеть разработки)
пробег
ganache-cli i 1337пробег
npm run test
Взаимодействие с контрактами Cyclone [Анонимность Майнинг]
Требования
nvm use 11.15.0npm install -g npxНастроить файл .env
cp .env.example .envvi .env- добавьте свой закрытый ключ, развернутый адрес контракта и номинал
Построить схемы zk:
npm run build. Обратите внимание, что если вы хотите создавать схемы zk (включая verifier.sol, proof / verify-keys) локально, вам необходимо:npm uninstall websnarknpm install websnark@"git+https://github.com/tornadocash/websnark.git#2041cfa5fa0b71cd5cca9022a4eeea4afe28c9f7"npm run build:local- Это может занять более 10 минут, поскольку установка доверия выполняется локально.
Депозит
Тестовая сеть
./client.js deposit IOTX|XRC20 --rpc http://api.testnet.iotex.one:80Mainnet
./client.js deposit IOTX|XRC20 --rpc http://api.iotex.one:80
Снять со счета
Тестовая сеть
./client.js withdraw NOTE RECIPIENT_ADDRESS --rpc http://api.testnet.iotex.one:80 --relayer RELAYER_URLMainnet
./client.js withdraw NOTE RECIPIENT_ADDRESS --rpc http://api.iotex.one:80 --relayer RELAYER_URL
Взаимодействие с контрактом Aeolus [Ликвидность Майнинг]
Добавьте ликвидность для CYC / IOTX на MimoFactory и получите токен CYC-IOTX LP
Депозит
Утвердить токен CYC-IOTX LP
Депозит CYC-IOTX LP Token
3. Снять со счета
Взаимодействие с GovernorAlpha контракт [Управление]
1.Самостоятельно делегируйте или делегируйте свой токен CYC для управления. Если вы не делегируете свои голоса, жетон не будет считаться правом голоса.
2. Предложите новое изменение в контрактах циклонов, таких как updateConfig, changeGovDAO и updateVerifier. У предлагающего должно быть более 1000 токенов CYC. Голосование продлится 3 дня. - Используйте abi-encoder, чтобы получить закодированные данные аргумента.
3. В течение 3 дней, в течение которых проводится голосование, держатели токенов, которые делегируют или делегируют собственные полномочия, могут голосовать за определенное предложение.
4. Если после 3 дней голосования, если предложение набирает более 4000 голосов CYC, предлагающий может поставить транзакцию в очередь в Timelock.
5. После задержки временной привязки предлагающий может выполнить транзакцию с временной привязкой.
Last updated
Was this helpful?