bitcoin - 编译智能合约而不删除换行符

标签 bitcoin blockchain ethereum solidity smartcontracts

我刚开始使用以太坊编写智能合约。

根据官方文档,编译智能合约需要删除合约源代码中的所有换行符:

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;
    }
}

有人知道怎么做吗?

我使用的编译器是 Solidity。

最佳答案

如何将契约(Contract)从文件加载到 var someContractText 中,然后执行以下操作

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

关于bitcoin - 编译智能合约而不删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34460591/

相关文章:

python - 更改 Plutus.py 的比特币钱包地址范围

blockchain - Merkle树路径是如何生成的?

blockchain - 使用权益证明时,为什么区 block 头需要矿工签名?

ethereum - 如何使用 metamask 签署以太坊交易

bitcoinj 将 P2SH 输入交易连接到输出交易

javascript - 从种子生成私钥

javascript - 通过 node.js 访问 JSON API

events - 发送交易和接收事件如何在以太坊区 block 链的后端工作

amazon-web-services - 如何连接到使用 AWS 区 block 链模板创建的以太坊 URL

node.js - Solana 程序发送多个lamport 传输并发出事件