Реализация умных контрактов на платформе блокчейна - PullRequest
0 голосов
/ 30 июня 2018

В своей диссертации я исследую умные контракты на платформе блокчейна. Существует множество реализаций блокчейна с механизмом доказательства работы или без него практически на всех возможных языках и т. Д.

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

Но я не знаю как.

У вас есть интересные ссылки, статьи или репозитории на github?

P.S .: Мой тезис носит исследовательский характер, поэтому в первую очередь я хочу реализовать систему с учетом общих принципов, возможно, покажу, как использовать большую вычислительную мощность подключенных узлов (компьютеров) в p2p. Финансовая сторона блокчейна меня не интересует, я не хочу строить новые монеты :) 1009 *

Спасибо, Эдгар

1 Ответ

0 голосов
/ 04 ноября 2018

Может быть, здесь не место для того, чтобы задавать этот вопрос, но просто для помощи, Вы можете начать свое исследование, используя Ethereum в своей тестовой сети: "ropsten".

на основе здесь , вы должны выполнить эти шаги для развертывания и выполнения контракта Simple Storage Ethereum.

Окружающая среда

Установить метамаску

Сначала вам нужно установить плагин MetaMask в браузере.

Launch Chrome or Firefox
Go to the url: https://metamask.io/
Click on Get Chrome Extension

Метамаска станет вашим кошельком.

Создать новую учетную запись:

Accept Terms of Use
Set your password
Backup the seed phrase

Начальная фраза используется для восстановления учетной записи. Требуется восстановить пароль.

Не теряйте ни пароль, ни начальную фразу!

Изменить сеть на тестовую сеть:

Change network to test network
Connect on Testnet Network

Поскольку у вас наверняка нет узла тестовой сети Ethereum и вы хотите использовать только тестовый эфир, вам необходимо подключить MetaMask к тестовой сети.

Click on the plugin icon 
Change the network to: Ropsten Test Network

Изменить сеть на тестовую сеть

Получить тест эфира: Чтобы выполнить Smart Contract или просто отправить Ether на другую учетную запись, вам нужно Ether для запуска. MetaMask предоставляет «Faucet», который время от времени дает немного свободного эфира.

   Click on BUY
    Click on ROPSTEN TEST FAUCET

Вы должны быть перенаправлены на https://faucet.metamask.io/

Нажмите на Купить эфир

Перейдите в Ropsten Faucet, чтобы получить бесплатный тестовый эфир

Click on request 1 ether from faucet

Успешно, если вы видите транзакцию ниже.

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

Для получения дополнительной информации перейдите в раздел «Установка MetaMask», «Подключение к Testnet», получение и отправка Ether. Не забудьте подключиться к тестовой сети

Смарт-контракт

Этот контракт не делает намного больше, чем позволяет кому-либо хранить уникальный номер, доступный любому в мире. Любой желающий может просто позвонить по контракту и перезаписать свой номер, но номер всегда будет храниться в истории блокчейна. Источники

pragma solidity ^0.4.0;
contract SimpleStorage {
    string storedData;

    function set(string x) public {
        storedData = x;
    }

    function get() public constant returns (string) {
        return storedData;
    }
}

Добавить контракт в Remix IDE

Remix - инструмент, используемый для взаимодействия с блокчейном Ethereum с целью разработки и отладки Smart Contracts.

Перейти к https://remix.ethereum.org В левом верхнем углу нажмите на + В диалоговом окне добавьте: SimpleStorage.sol Скопируйте и вставьте источники Smart Contract выше в Remix Нажмите на запустить в правом верхнем меню

Контракт на развертывание

Вы можете развернуть столько контрактов, сколько вам нужно. При условии, что в вашей учетной записи есть Ether для оплаты транзакций.

Verify that you are in Injected Web3 mode, with an account selected. If not :
Verify that you are login on MetaMask
Close and restart Remix (the Contract will be automatically saved)
Click on Create
Click on Submit pop up

Должна появиться ожидающая транзакция.

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

Проверьте учетную запись, нажмите «Создать» и подождите.

Договор появился, адрес можно скопировать Исполнить договор

После развертывания Smart Contract отображает его методы.

Синие методы используются для чтения данных из блокчейна, это бесплатно. Красные методы используются для записи данных в блокчейн, он стоит газа.

Добавить «Hello World! »(Белые кавычки) в поле ввода текста Set Затем нажмите на Set Нажмите на кнопку Отправить всплывающее окно

Blue is for read, Red is for write

Вставьте строку, нажмите на Set Ознакомьтесь с договором

С данными Smart Contract можно ознакомиться бесплатно.

Ожидание завершения транзакции Set Затем нажмите Get

Отображается ранее сохраненное значение.

Создание существующего договора enter image description here

Вы можете создать экземпляр и выполнить существующий контракт в ремиксе. Вам нужен исходный код и адрес договора.

Вам необходимо вставить точный исходный код ранее развернутого контракта Получить адрес смарт-контракта, используя (см. Выше) или пользователя Etherscan Скопируйте адрес в поле ввода адреса At Нажмите на адрес

YouТеперь создайте экземпляр ранее развернутого смарт-контракта. Теперь вы можете использовать методы контракта, описанные выше.

Этот смарт-контракт не имеет защиты, поэтому каждый может взаимодействовать с этим контрактом и изменять его значение.

Был создан, развернут и выполнен смарт-контракт Solidity.

Теперь вы можете редактировать смарт-контракт, чтобы ограничить доступ для авторов, выбранных владельцем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...