[solved] Why infura not broadcast call of erc20.tranfer

Contract creator: https://rinkeby.etherscan.io/address/0x9e0b766e690d56c9a32194f43396a23b8ab39b70
Contract address: https://rinkeby.etherscan.io/address/0xccbe6a62ff3a3219016417d1bcf8f86f21457d58
Contract create trx: 0x6c1bc1c75b603017b1600d90592861103458885cc998b5cf4df02fc1d601f5b6

Contract is an erc20 Token write with openzeppelin-solidity:

pragma solidity ^0.5.0;

import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";

contract Token is ERC20 {
  string public name = "BlockABC Test Token";
  string public symbol = "BTT";
  uint8 public decimals = 4;
  uint public INITIAL_SUPPLY = 210000000000;

  constructor() public {
    _mint(msg.sender, INITIAL_SUPPLY);
  }
}

JSON RPC:

Request:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendRawTransaction",
  "params": [
    "0xf8a904843b9aca00830186a094ccbe6a62ff3a3219016417d1bcf8f86f21457d5880b844a9059cbb0000000000000000000000005ba1583b5fb624f66858386971ac9d5362ab535200000000000000000000000000000000000000000000000000000000000000642ca0bf116f976cb3cd7990fa555e0eba443be3325b2d1014f8dcc2eee2831ee1b6bca06cf6e7a7a1354e4d4cc847c3a44d54d9a3fa35cf9a1352b67f5665fe7efa3c69"
  ]
}

Response:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x488eecc0d44cef469437ee9357ec6211fdb6df8046aa8e39d5f07e4b14c1c53e"
}

I can call constant methods successfully, but when I call tranfer method, only trx hash returned but never broadcast, why ? Thx for help !

It looks to me like your nonce is wrong. According to Etherscan: https://rinkeby.etherscan.io/txs?a=0xc561f6fe94d593a5fb6ca93443d1d76fbbc427c9&f=2

You should be using Nonce 2. That transaction appears to be using Nonce 4.

{
  "nonce": 4,
  "gasPrice": 1000000000,
  "gasLimit": 100000,
  "to": "0xccbe6a62ff3a3219016417d1bcf8f86f21457d58",
  "value": null,
  "data": "a9059cbb0000000000000000000000005ba1583b5fb624f66858386971ac9d5362ab53520000000000000000000000000000000000000000000000000000000000000064",
  "from": "0xc561f6fe94d593a5fb6ca93443d1d76fbbc427c9",
  "r": "bf116f976cb3cd7990fa555e0eba443be3325b2d1014f8dcc2eee2831ee1b6bc",
  "v": "2c",
  "s": "6cf6e7a7a1354e4d4cc847c3a44d54d9a3fa35cf9a1352b67f5665fe7efa3c69"
}

The transaction send still returns a valid tx hash because this is not an error. The node holds onto your Nonce 4 and does not propagate it until the nonce gap is closed.

It works now … Maybe it is cause by the bugs in web3 v1.0.0-beta48, I just fixed some of them yesterday. Anyway, thanks a lot for your help ! :grinning: