ShDenis (OP)
|
|
October 06, 2017, 04:09:03 AM |
|
Надоело писать в блокнотике(sublime text) и деплоить через mist+локальный geth (-dev), отлаживать через remix. С отдельными контрактами, или с небольшим количеством файлов проблем нет, но проект становится чуть больше пары файлов, и нужен нормальный фреймворк - среда разработки какая-нибудь, с комлексным подходом к работе.
|
|
|
|
websalamander
Newbie
Offline
Activity: 88
Merit: 0
|
|
October 06, 2017, 07:13:48 AM |
|
Visual Studio+Git+truffle+testrpc
|
|
|
|
ShDenis (OP)
|
|
October 06, 2017, 08:08:40 PM |
|
что-то не ставится дополнение с solidity под Visual Studio 2017... ругается примерно так: ... 06.10.2017 23:07:57 - Поиск применимых продуктов... 06.10.2017 23:07:57 - Найден установленный продукт - Глобальное расположение 06.10.2017 23:07:57 - Найден установленный продукт - Visual Studio Enterprise 2017 06.10.2017 23:07:57 - VSIXInstaller.NoApplicableSKUsException: Это расширение не может быть установлено ни для одного из установленных продуктов. в VSIXInstaller.App.GetInstallableData(String vsixPath, Boolean isRepairSupported, IEnumerable`1& skuData) в VSIXInstaller.App.Initialize(Boolean isRepairSupported) в VSIXInstaller.App.Initialize() в System.Threading.Tasks.Task`1.InnerInvoke() в System.Threading.Tasks.Task.Execute()
|
|
|
|
madcoiner
Newbie
Offline
Activity: 44
Merit: 0
|
|
October 06, 2017, 11:49:12 PM |
|
Для разработки и тестирования я использую vim + truffle + testrpc Для "щупанья" того что получилось использую remix + parity (в kovan сети) как провайдер данных
|
|
|
|
ShDenis (OP)
|
|
October 07, 2017, 07:44:42 AM |
|
Поставил себе студию 2015 и плагин solidity вроде как стал нормально. Его что, прекратили поддерживать... А для чего вообще используется трюфель - для автоматических модульных тестов?
|
|
|
|
madcoiner
Newbie
Offline
Activity: 44
Merit: 0
|
|
October 07, 2017, 01:48:47 PM |
|
Трюфель это тесты + система сборки контракта по зависимостям (require, include).
|
|
|
|
ShDenis (OP)
|
|
October 07, 2017, 04:01:30 PM |
|
с этой студией одни косяки - сперва solidity только под 2015 версию, потом проект не деплоится в локальную ноду (дошёл до автозапуска браузера по локалхост:8000, но выдаёт пустую страницу и в самой студии в логе вот такое: Contract Payout created successfully at address {"jsonrpc":"2.0","error":{"code":-32600,"message":"invalid character 'p'...), потом трюфель-проект не понимаю как ставить чтобы прямо из VS запускать эти тесты... может руки конечно кривые (в плане работы с visual studio так однозначно так и есть), но как-то всё это напрягает сильно. Может есть какие инструкции или видеозарисовки нормальные по установке solidity и/или truflle под студию и по работе с ними потом.
Или схема работы должна быть другой: VS - разрабатываем .sol и компилируем, трюфель из командной строки - компилируем, деплоим и тестируем в локальной ноде...
|
|
|
|
mensa84
|
|
October 07, 2017, 06:20:25 PM |
|
Надоело писать в блокнотике(sublime text) и деплоить через mist+локальный geth (-dev), отлаживать через remix. С отдельными контрактами, или с небольшим количеством файлов проблем нет, но проект становится чуть больше пары файлов, и нужен нормальный фреймворк - среда разработки какая-нибудь, с комлексным подходом к работе.
Использую полный набор Jetbrains У них есть все для всех кодеров (с++, c#, php, py, go и тд) .Есть DataGrip для всех возможных баз Посмотрите не пожалеете https://www.jetbrains.com
|
|
|
|
websalamander
Newbie
Offline
Activity: 88
Merit: 0
|
|
October 08, 2017, 06:04:54 AM |
|
с этой студией одни косяки - сперва solidity только под 2015 версию, потом проект не деплоится в локальную ноду (дошёл до автозапуска браузера по локалхост:8000, но выдаёт пустую страницу и в самой студии в логе вот такое: Contract Payout created successfully at address {"jsonrpc":"2.0","error":{"code":-32600,"message":"invalid character 'p'...), потом трюфель-проект не понимаю как ставить чтобы прямо из VS запускать эти тесты... может руки конечно кривые (в плане работы с visual studio так однозначно так и есть), но как-то всё это напрягает сильно. Может есть какие инструкции или видеозарисовки нормальные по установке solidity и/или truflle под студию и по работе с ними потом.
Или схема работы должна быть другой: VS - разрабатываем .sol и компилируем, трюфель из командной строки - компилируем, деплоим и тестируем в локальной ноде...
https://marketplace.visualstudio.com/items?itemName=ConsenSys.Solidity https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidityhttps://www.youtube.com/watch?v=fflYJh8Rtxc Dapp tutorial: Truffle 3.0, Metamask and EthereumExplorer Должно помочь
|
|
|
|
ShDenis (OP)
|
|
October 09, 2017, 03:59:49 PM |
|
Спасибо всем, немного помогает. А ещё помогло наведение порядка с путями в node... что-то я там напутал ранее. Интерсно, что связка node - truffle - testrpc работает. Связка geth --dev --rpc --rpcapi "admin,debug,miner,shh,txpool,personal,eth,net,web3" console - mist.exe --rpc http://localhost: 8545 тоже работает. Связка node - truffle - geth (тот же самый) не работает. Настройки в truffle.js: host: "localhost", port: 8545, network_id: "*" // Match any network id Студия по-прежнему выдаёт ошибку и пустую страницу с geth. Однако, уже начала запрашивать какой-то keyserver (разбираюсь...) в связке с testrpc. Кто знает, что может быть не так с geth?
|
|
|
|
Snappsiz
Member
Offline
Activity: 112
Merit: 10
|
|
October 09, 2017, 09:37:57 PM |
|
Git,Truffle,Testrpc.
|
|
|
|
Jaga-Jaga
|
|
October 09, 2017, 11:41:19 PM |
|
Надоело писать в блокнотике(sublime text) и деплоить через mist+локальный geth (-dev), отлаживать через remix. С отдельными контрактами, или с небольшим количеством файлов проблем нет, но проект становится чуть больше пары файлов, и нужен нормальный фреймворк - среда разработки какая-нибудь, с комлексным подходом к работе.
Использую полный набор Jetbrains У них есть все для всех кодеров (с++, c#, php, py, go и тд) .Есть DataGrip для всех возможных баз Посмотрите не пожалеете https://www.jetbrains.comЯ когда то использовал IDEA и мне она нравилась для Java разработки, какова IDEA в качестве IDE для solidity? Удобно ли в ней отлаживать и умеет ли она подсчитывать сколько нужно газа для выполнения контракта? Имеет ли она встроенную ноду для тестирования контракта или надо будет потом как то в другом месте тестировать, например в том же remix-е?
|
|
|
|
pavelZ
Newbie
Offline
Activity: 2
Merit: 0
|
|
October 12, 2017, 06:29:08 PM |
|
А я просто в Notepad++ )
|
|
|
|
ShDenis (OP)
|
|
October 12, 2017, 07:43:32 PM |
|
Notepad++ - так себе решение. Для больших разработок не подойдёт.
|
|
|
|
ferumflex
|
|
October 13, 2017, 03:24:42 PM |
|
Truffle, Pycharm, testrpc, metamask
|
|
|
|
ShDenis (OP)
|
|
October 13, 2017, 07:41:42 PM |
|
Pycharm - вообще первый раз о таком слышу. Шо за зверь? Хотя, судя по тому, что к нему много всего остального нужно, врядли что-то комплексное (серьёзное) будет.
|
|
|
|
ShDenis (OP)
|
|
October 14, 2017, 08:36:32 PM |
|
truffle отказывается компилировать, ругаясь вот так: TypeError: Definition of base has to precede definition of derived contract (определение базы должно предшествовать определению производного контракта). Знает кто, как с таким бороться? Похоже связанно с многочисленными import между файлами (в каждом файле по одному контракту).
|
|
|
|
ferumflex
|
|
October 14, 2017, 09:06:27 PM |
|
Pycharm - вообще первый раз о таком слышу. Шо за зверь? Хотя, судя по тому, что к нему много всего остального нужно, врядли что-то комплексное (серьёзное) будет.
это студия разработки от jetbrains. Изначально она расчитана на python, но подсвечивать синтаксис тоже умеет. Просто сама студия очень удобна для меня.
|
|
|
|
ShDenis (OP)
|
|
October 15, 2017, 08:22:44 AM |
|
truffle отказывается компилировать, ругаясь вот так: TypeError: Definition of base has to precede definition of derived contract (определение базы должно предшествовать определению производного контракта). Знает кто, как с таким бороться? Похоже связанно с многочисленными import между файлами (в каждом файле по одному контракту).
Похоже на вот такую ситуацию: contract q1 is q2{ function f1() { } } contract q2 is q3{ uint b; function f2() { } } contract q3 is q1{ function f3() { } } так вообще нельзя писать, или можно обойти при помощи абстрактных классов, интерфейсов или ещё как?
|
|
|
|
ShDenis (OP)
|
|
October 15, 2017, 08:34:54 PM |
|
То-ли раздел не популярный, то-ли я уже достал всех... ну а как научиться ели поблизости негде. Вобщем, сам уже сделал, вроде как, пока все молчали. Не уверен полностью, ещё нужно будет тестировать потом результат, но компиляцию проходит. Сделал через создание контракта-интерфейса, от которого один контракт наследуется, а другой использует для вызова функций первого, вместо прямой ссылки на первый контракт...
Теперь получил траблу с миграцией. Всё дело в том, что в стандартной документации описан простой случай деплоя в сеть. У меня же при деплое контракта в контструкторе создается ещё штук пять контрактов и ещё наследование от двух отдельных. Подскажет кто, как это правильно в файл миграции внести? Создаваемые контракты нужно изначально деплоить через deployer.deploy( и привязывать через deployer.link( к основному? И как это делать правильно...
|
|
|
|
|