通过geth控制台与已经部署的合约交互

1.定义abi

> mshk_abi=JSON.parse('[{\"constant\":true,\"inputs\":[{\"name\":\"name\",\"type\":\"string\"}],\"name\":\"print\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"say\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}]')

输出:

[{
    constant: true,
    inputs: [{
        name: "name",
        type: "string"
    }],
    name: "print",
    outputs: [{
        name: "",
        type: "string"
    }],
    payable: false,
    stateMutability: "pure",
    type: "function"
}, {
    constant: true,
    inputs: [],
    name: "say",
    outputs: [{
        name: "",
        type: "string"
    }],
    payable: false,
    stateMutability: "pure",
    type: "function"
}]

2.加载合约地址

var address = "0x668efc5325df2511e0cc9284ae3d51cbfb63b88a";

输出结果:

undefined

3.生成合约对象

> var metacoin = web3.eth.contract(mshk_abi).at(address);
undefined

4.调用合约方法

> metacoin.print("t")
"t"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容