Я создал «Токен» и контракт «Краудсейл», как указано в openzeppelin. Ниже приведен мой код развертывания в truffle. Я новичок в кодировании и надежности, связанных с ICO. Вопрос может быть очень простым, но я изо всех сил пытаюсь найти ответ, не могли бы вы помочь?
Вопрос
Я понимаю, что контракт краудсейла должен иметь право собственности на контракт токена. Это правильно?
Если право собственности должно быть передано, как это сделать при развертывании самого себя?
Как передать право собственности на токен-контракт
2_deploy_ico.js
return deployer
.then(() => {
return deployer.deploy(SampleCrowdsaleToken, "Sample Crowdsale Token","SCT",18);
})
.then(() => {
console.log("Token Address : ",SampleCrowdsaleToken.address) ;
return deployer.deploy(SampleCrowdsale,openingTime,closingTime,rate,wallet,cap,SampleCrowdsaleToken.address,goal);
}).then(() => {
console.log("Sale Address : ",SampleCrowdsale.address) ;
// TODO: transfer ownerhship of the token to the crowdsale for minting
// Currently doing that in the UI
SampleCrowdsaleToken.transferOwnership(SampleCrowdsale.address);
console.log("!!! Success !!!") ;
});
Должен ли контракт Crowdsale владеть контрактом токена?
Не обязательно . Не требуется, чтобы контракт Crowdsale фактически владел контрактом Token. Вы можете просто отчеканить/перевести токены на контракт Crowdsale, который затем будет нести ответственность за продажу токенов.
Стандартную методологию реализации и развертывания Crowdsale можно найти здесь: https://www.ethereum.org/crowdsale . Это очень хорошая отправная точка для изучения основ архитектуры контрактов ICO.
В любом случае, как вы можете передать право собственности на контракт?
Вероятно, вы вызываете правильный метод в сценарии развертывания. Однако вы не вызываете его для конкретного экземпляра контракта, который вы развернули. Вам нужно использовать что-то вроде
.then((deployedInstance) => deployedInstance.transferOwnership(...));
Сразу после deployer.deploy(...)
вызова для вызова развернутого экземпляра. Надеюсь это поможет.
iappmaker
Томас Вандерстратен
iappmaker
iappmaker
Томас Вандерстратен