मैं अपनी ट्रफल कॉन्फ़िग फ़ाइल सेट कर रहा हूँ और मैं एक env वेरिएबल से from पता इस तरह सेट कर रहा हूँ:

module.exports = {
  networks: {
    local: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*",
      from: process.env.OWNER,
    }
  }
};

फिर मैं OWNER=<address> truffle migrate --network local चलाता हूं

ऐसा करने के बेहतर तरीके पर कोई सुझाव, गनाचे द्वारा उत्पन्न पहले पते का उपयोग करने के लिए ट्रफल प्राप्त करने के लिए?

1
rubentd 6 नवम्बर 2018, 08:23

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप अपने truffle.cfg में from पैरामीटर को छोड़ देते हैं, तो यह उस प्रदाता से web3.eth.getAccounts द्वारा लौटाए गए पहले खाते में स्वतः ही डिफ़ॉल्ट हो जाएगा, जिससे आप जुड़े हुए हैं।

यदि आप उपयोग किए गए खाते पर अधिक गतिशील नियंत्रण चाहते हैं, तो आप इसे नियोक्ता.

var SimpleContract = artifacts.require("SimpleContract");

module.exports = function(deployer, network, accounts) {
  deployer.deploy(SimpleContract, { from: accounts[1] }); // Deploy contract from the 2nd account in the list
  deployer.deploy(SimpleContract, { from: accounts[2] }); // Deploy the same contract again (different address) from the 3rd account.
};

बेशक, आपको पास की गई खाता सूची का उपयोग करने की आवश्यकता नहीं है और आप अपने इच्छित किसी अन्य डेटा स्रोत से सूची प्राप्त कर सकते हैं। यदि आप पर्यावरण विशिष्ट तर्क रखना चाहते हैं तो आप network का भी उपयोग कर सकते हैं।

1
Adam Kipnis 6 नवम्बर 2018, 23:21