我有一些简单的可靠代码来测试契约部署和调用。它有将值写入存储的方法,以及读取值的方法。这与一家私人连锁公司和一个普通客户的关系非常好。
在切换到奇偶客户端和授权证明链之后,合同没有被部署,因为部署它的事务没有被挖掘。我已经试着把汽油增加到6亿升,gasPrice提供给10格威。以太的简单转移是经过的。同时,成功地编译了Solidity代码。尝试用发送帐户解锁,并在浏览器UI中的确认窗口中输入帐户密码。
合同代码:
pragma solidity ^0.4.7;
contract owned {
address owner;
function owned() {
owner = msg.sender;
}
}
contract mortal is owned {
function kill() {
if (msg.sender == owner) selfdestruct(owner);
}
}
contract IdMgmt is mortal {
struct acl {
string dataType;
string permissions;
}
mapping (address => acl) public aclOf;
function IdMgmt() { }
function createId(address _user, string _dataType, string _permissions) {
aclOf[_user].dataType = _dataType;
aclOf[_user].permissions = _permissions;
}
function getPermissions(address _user, string _dataType) constant
returns (string userPermissions) {
if (stringsEqual(aclOf[_user].dataType, _dataType)) {
userPermissions = aclOf[_user].permissions;
}
else {
userPermissions = "NO DATA";
}
}
function stringsEqual(string _a, string _b) internal returns (bool) {
bytes memory a = bytes(_a);
bytes memory b = bytes(_b);
if (a.length != b.length) {
return false;
}
for (uint i = 0; i < a.length; i ++) {
if (a[i] != b[i]) return false;
}
return true;
}
}还有什么其他信息可以帮助我们找到根本原因呢?
发布于 2017-03-23 19:27:19
当我尝试使用JSON或奇偶浏览器UI部署契约时,就发现了这个问题。相反,我尝试使用奇偶校验的web3 Javascript (将Javascript代码作为NodeJS应用程序运行)进行部署,并且这种部署始终有效。挖掘契约部署事务,并在指定的地址存在代码。
https://ethereum.stackexchange.com/questions/12478
复制相似问题