Лучшая практика совместного использования файлов трюфелей между разработчиками

Я работаю над несколькими проектами с использованием трюфелей, так как вы знаете компиляцию трюфелей и перенос контрактов в различные сети ethereum, например. MyContract.sol создает MyContract.json , который содержит ссылку на адрес этого контракта в этой сети вместе с abi.

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

Есть ли у кого-нибудь опыт работы с этой проблемой и какое наилучшее решение?

Основные проблемы:

  • Если мы зафиксируем файлы сборки в исходном элементе управления, они содержат элементы, специфичные для локального компьютера пользователей, например. sourcePath & absolutePath

  • Если мы их не собираем, мы должны либо вручную обновить файлы abi json, чтобы указать на правильный адрес контракта.

Я чувствую, что, может быть, мы не понимаем, какой правильный процесс использовать при использовании трюфелей между командами больше, чем несколько человек в общем проекте

Вся помощь оценена

3 голоса | спросил Jimbob1987 30 MaramFri, 30 Mar 2018 10:55:03 +03002018-03-30T10:55:03+03:0010 2018, 10:55:03

1 ответ


2

Я не знаю, есть ли для этого реальный ответ, но я использую это решение: я меняю файл миграции, и я пишу ABI и его адрес после развертывания

var fs = require ('fs');
var MyContract = artifacts.require ('./MyContract.sol');
var fileContent = require ('../build /contract /MyContract.json');

module.exports = function (deployer) {
  deployer.deploy (MyContract) .then (() => {
    var contractConfiguration = {
        abi: fileContent.abi,
        адрес: MyContract.address
    };

    fs.writeFileSync ('contractConfiguration /MyContract.json', JSON.stringify (contractConfiguration), {flag: 'w'});
  });
};

В моем случае я использую его, чтобы всегда обновлять мою контрактную информацию для целей пользовательского интерфейса. Таким образом, пользовательский интерфейс будет считывать информацию внутри папки contractConfiguration и всегда будет иметь обновленный адрес и ABI.

ответил mirg 30 MaramFri, 30 Mar 2018 11:41:34 +03002018-03-30T11:41:34+03:0011 2018, 11:41:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132