홈>
방금 openzeplin Safemath 라이브러리를 테스트하는 간단한 코드를 작성했습니다. ^ 0.5.0에 대한 최신 버전의 리믹스 IDE를 사용하고 컴파일 중입니다. 리믹스는 0.5.0_commit.1d4f565a 컴파일러를 사용하고 있습니다 환경은 JavaScript VM입니다 EVM 버전은 컴파일러 기본값입니다
추가 기능이 아래 코드에서 작동하지 않는 것 같습니다
x.sub (1)을 시도했지만 예상대로 예외가 발생합니다. x를 다른 값으로 초기화하려고 시도했지만 여전히 작동하지 않습니다.
pragma solidity ^0.5.0;
import "./SafeMath.sol";
contract SimpleStorage {
using SafeMath for uint;
uint x;
event incremented(uint x);
constructor() public{
x=0;
}
function increment() public {
x.add(1);
emit incremented(x);
}
function get() external view returns (uint) {
return x;
}
}
예상 출력은 함수를 호출 할 때마다 하나씩 증가하지만 매번 같은 값을 얻습니다. 방출도 같은 값을 보여줍니다.
- 답변 # 1
관련 자료
- 장고 버그입니까?
- GNAT Ada에서 UTF 변환 관련 버그입니까?
- semi join - 이것이 MySQL 버그입니까?
- php - 이 버그를 수정하도록 도와주세요
- zlib - Java Inflater의 버그입니까?
- ios - 이것이 SwiftUI의 버그입니까?
- 이것은 파이썬 OR 연산자의 버그입니까?
- delphi - Rio의 SystemNetHttpClient의 버그입니까?
- swift - 이 한 줄 함수에서 매우 이상한 버그
- python - 이것은 버그입니까, 아니면 이해가되지 않습니까?
- 이것이 C ++의 lib에 대한 버그입니까?
- c++ - learncppcom 주장과 같은 GCC 버그입니까?
- 이것이 안드로이드 searchView 버그입니까?
- go - 이 동작은 버그 fmtPrintln ()입니까?
- c++ - GoogleTest AssertionResult의 버그입니까?
- c++ - 이것이 boost - : dynamic_bitset의 버그입니까?
- html - 전자> 버그입니까?
- node.js - 노드에서이 버그를 수정하는 데 도움이 필요합니다
- javascript - 이것은 IE 11의 버그입니까?
- c# - 이것은 ASP 네트 코어 ActionLink HTML 헬퍼의 버그입니까?
관련 질문
- blockchain : Solidity -다른 계약에서 msg.sender로 어떻게 이전합니까?
- remix - 견고성 - 나 자신에게 돈을 보내
- solidity : TestNet의 리믹스를 사용하여 계약을 배포하는 문제
- solidity : Ethereum Remix : 가스가 요구되는 가스가 허용치 (30000000) 문제를 초과합니다.
- solidity : 메타 마스크에 메서드 ID를 추가하는 방법
- solidity : BEP20 계약 DeployMenent 토큰을 찾을 수 없습니다
- solidity : Safemath.Sol을 계약으로 올바르게 가져 오는 방법
- ethereum : declarationError : 명확하지 않은 식별자 -erc721.sol에 있습니다.
- ethereum : 자녀 계약 주소를 알 수 없습니다.
자, 그것은 당신의 버그입니다 :)
x.add(1)
대신x = x.add(1)
를보십시오 . 추가 기능이 제자리에 있지 않고 새 값이 리턴되며x
에 새 값을 지정해야합니다. .