Оператор Artifex.require() с наследованием?

Привет, ребята, мой вопрос я очень простой. У меня есть этот контракт:

Б.соль

...
contract A {
    ...
}
contract B is A {
    ...
}

Когда я перехожу на блокчейн моего B.sol, мне нужно развернуть каждый контракт внутри? Выберите один из ответов и объясните, почему, пожалуйста.

  1. var B = artifacts.require("B");
    
    module.exports = function(deployer) {
        deployer.deploy(B);
    };
    
  2. var A= artifacts.require("A");
    var B= artifacts.require("B");
    
    module.exports = function(deployer) {
        deployer.deploy(A);
        deployer.deploy(B);
    };
    
Я не понимаю, о чем вы здесь спрашиваете, не могли бы вы уточнить?

Ответы (1)

Вариант 1 - это то, что вы хотите сделать здесь. При использовании наследования в ваших контрактах вы будете развертывать только самый производный контракт (в вашем случае — контракт B).

По сути, вы будете развертывать один контракт, содержащий весь код унаследованных контрактов. Надеюсь, это поможет.