В декабре EOS Dawn V2 был запущен в тестовом режиме. А это значит, что теперь все желающие могут поиграться с EOS и его смарт-контрактами, трансферами и просматривать свои аккаунты.
К сожалению, EOS еще не опубликовали свои докер-образы в двоичном формате, но я решил опубликовать их самостоятельно. Также я портировал Steem-in-a-box, настроив его так, чтобы он лучше работал с EOS.
Эти докер-образы, в отличие от Steem-in-a-box, созданы из официального докер-файла в репозитории EOSIO/eos. Собрать EOS сложнее, поэтому я сэкономил время и использовал их докер, который работает просто отлично :)
Шаг 1. Берем сервер!
Выберите сервер-провайдера, который вам по нраву. Я рекомендую Privex, потому что он принимает STEEM :) (дисклеймер: я являюсь генеральным директором Privex Inc. – но наши услуги пользуются популярностью в сообществе).
Пока что сеть небольшая, поэтому будет достаточно VPS даже на 2 ГБ. Если вы планируете запускать ноду заверителя EOS (производителя) во время следующего запуска Тестнета или Главной сети, то лучше запастись не менее 8 или даже 16 ГБ оперативной памяти.
Шаг 2. Установка EOS-in-a-box
EOS-in-a-box производит установку докера, берет мой образ и запускает сервер с верно настроенными портами и правильными параметрами.
Давайте приступим:
apt update
apt install git curl wget
git clone https://github.com/someguy123/eos-docker.git
cd eos-docker
./run.sh install_docker
Это установит Докер. Если вы запустились как “ubuntu” или что-то подобное, рекомендуется выйти, а затем снова войти (закрыть SSH и открыть его снова), чтобы настроить свои права доступа.
Теперь давайте возьмем мой образ и загрузим EOS!
./run.sh install
Chris: вопрос: вы улучшили архитектуру shared_memory в EOS или все равно лучше кидать все в RAM, если ты заверитель/производитель?
Daniel Larimer: мы все еще используем прежний chainbase код из Steem
Josh: выходит, что 14 из 21 должны быть злоумышленниками
Daniel Larimer: нами разработана, но пока не интегрирована новая база данных совместной памяти, спроектированная для параллельного доступа
14 злоумышленников требуется для создания фальшивого необратимого блока
Как поясняет @dantheman – @dan, EOS все еще использует старый код shared_memory от Steem. Это означает, что для реального заверителя/производителя вы, очевидно, должны использовать /dev/shm (RAM-диск). EOS-in-a-box настроен для подключения /dev/shm к /shm, если вы хотите изменить свой config.ini
. Когда будет выпущена полноценная версия EOS, в EOS-in-a-box будет включена конфигурация, по умолчанию использующая /dev/shm с предварительно заданным списком сидов для быстрого развертывания.
В режиме тестирования это не имеет значения, так что давайте просто начнем.
./run.sh start
EOS будет запущен, вы можете это подтвердить вводом ./run.sh status
или docker ps
ubuntu@chris-eos:~/eos-docker$ ./run.sh status
Container exists?: YES
Container running?: YES
ubuntu@chris-eos:~/eos-docker$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87f80dd1b318 eos "start_eosd.sh" 20 seconds ago Up 19 seconds seed
ubuntu@chris-eos:~/eos-docker$
Давайте, наконец, активируем API кошелька и перезапустим его.
nano data/config.ini
Добавьте в конец файла
plugin = eosio::wallet_api_plugin
Сохраните и закройте файл (для nano это CTRL-X, и введите yes для сохранения)
Теперь давайте перезапустим EOS:
./run.sh restart
Используем кошелек
Кошелек немного отличается от STEEM. Вот несколько примеров его использования:
Создать кошелек
ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet create -n test
Creating wallet: test
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5KhAdia26ZWmvpPFPX6G3ppCpzPAaumHbmLgaKejtsQ13mNiS8g"
Закрыть кошелек
ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet lock -n test
Locked: test
Открыть кошелек
ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet unlock -n test
password: Unlocked: test
Импортировать ваш приватный ключ
(да, это рандомный приватный ключ. нет, он не содержит сколько-нибудь токенов EOS)
ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet import -n test 5JtrsfV1SaQmuSWV4qpwqHqK2Pk4idvwskumZKWF4DXYJRn9iWE
imported private key for: EOS5GjCUAzNha1dmLVgtY2JxqjHZ9Rb33FMWdEsmUEM6sSd7t7nAG
Используем клиент
Помимо кошелька у EOS есть свой “клиент”. Чтобы сделать его простым в обращении, вы можете использовать
./run.sh client
Пример
ubuntu@chris-eos:~/eos-docker$ ./run.sh client version client
Build version: 9703495c
Запрос публичного тестнета
Для запроса публичного тестнета вы должны настроить свой хост на testnet1.eos.io – в настоящее время не существует безопасного р2р функционала, поэтому вы должны направить свой клиент на их публичный сервер; вы не можете подключить локальный тестнет к публичному тестнету.
Chris: так как мне подключить свой EOS к главному тестнету?
Kevin Heifner: В предстоящем релизе планируется выполнять подключение при помощи eosd. Совсем скоро мы анонсируем выпуск.
Пример – Получить блок
ubuntu@chris-eos:~/eos-docker$ ./run.sh client -H testnet1.eos.io -p 80 get block 10000
{
"previous": "0000270f69c1a22dc6463335325b01ac03b25af8891dfc88ac0418f88b62f062",
"timestamp": "2017-12-04T22:41:46",
"transaction_merkle_root": "0000000000000000000000000000000000000000000000000000000000000000",
"producer": "initq",
"producer_changes": [],
"producer_signature": "1f77718a0efb56ef43a0adcd10108ec058aa9760b2a3bc59dcae967637a2ac72dc68077d232026de5d929a1d55a4bbd0bc4d040d44dc2380ac4e1107f1a61e170b",
"cycles": [],
"id": "00002710ebdfd9569d544ed746bb49d7a93e813190f3b4d138a0874d4da05cdd",
"block_num": 10000,
"ref_block_prefix": 3612234909
}
Узнаем свой юзернейм
Чтобы узнать свой юзернейм в публичном тестнете, отправляйтесь по ссылке
https://eosio.github.io/genesis/tools/account-name/index.html и введите ваш публичный ключ EOS, либо ваш ETH адрес, использованный для покупки токенов.
После этого вы можете увидеть свой аккаунт с помощью клиента:
Пример
ubuntu@chris-eos:~/eos-docker$ ./run.sh client -H testnet1.eos.io -p 80 get account yourname
{
"account_name": "yourname",
"eos_balance": "999570.0000 EOS",
"staked_balance": "0.0000 EOS",
"unstaking_balance": "0.0000 EOS",
"last_unstaking_time": "1969-12-31T23:59:59",
"permissions": [{
...
Могу ли я настроить заверителя (производителя)?
Нет. Смотрите предыдущий скриншот в разделе “Используем клиент”. В настоящее время невозможно запустить производителя или даже подключить EOSD к основной сети.
Но, по крайней мере, это раннее доказательство концепции, с которым можно поиграться :)
Думаю, что как минимум уже можно писать смарт-контракты, однако я еще не пробовал. Поэкспериментирую с ними в ближайшие дни, когда все будет отлажено.
Оригинал поста: ЗДЕСЬ
Excellent work I liked it so much I wish I could continue your work on this as I will give you all the support I hope you will support me if possible Thank you for your time
Hi blockchained can you pkz translate in english so other viewers ll enjoy it also included me.. Post is looking good but cant understand it
It's translation, here is original in English
Ok thanx for favour.. I ll cheq it soon..
Спасибо за инфу👍🚀