2015-12-25 7 views
4

Я новичок, чтобы написать смарт-контракт с Ethereum.Компиляция смарт-контракта без снятия разрывов строк

Согласно официальному документу, составление смарт-контракта необходимо удалить все разрывы строк в исходном коде контракта:

var greeterSource = 'contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) suicide(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }' 
var greeterCompiled = web3.eth.compile.solidity(greeterSource) 

https://ethereum.gitbooks.io/frontier-guide/content/contract_greeter.html

Как я думаю, что процесс удаления не умный, я хочу, чтобы скомпилировать сам код, как:

var greeterCompiled = web3.eth.compile.solidity_infile("greeter.txt") 
# The function "solidity_infile" does not exists actually, 
# but represents what I want to do. 

greeter.txt

contract 
mortal { 
    /* Define variable owner of the type address*/ 
    address owner; 

    /* this function is executed at initialization and sets the owner of the contract */ 
    function mortal() { owner = msg.sender; } 

    /* Function to recover the funds on the contract */ 
    function kill() { if (msg.sender == owner) suicide(owner); } 
} 

contract greeter is mortal { 
    /* define variable greeting of the type string */ 
    string greeting; 

    /* this runs when the contract is executed */ 
    function greeter(string _greeting) public { 
     greeting = _greeting; 
    } 

    /* main function */ 
    function greet() constant returns (string) { 
     return greeting; 
    } 
} 

ли кто-нибудь, как это сделать?

Компилятор, который я использую, - это твердость.

ответ

2

Как о загрузке контракта из файла в var someContractText, а затем выполните следующие действия

someContractText = someContractText.replace(/(\r\n|\n|\r)/gm,""); 
+0

Как загрузить файл в переменную? –

+0

[loadScript] (https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console). Хотя loadScript не загружает переменные на моем компьютере - я пытаюсь его решить - возможно, проблема с установкой. – Abhi