{"id":15910268,"url":"https://github.com/rjl493456442/ethclient","last_synced_at":"2026-05-01T13:32:51.969Z","repository":{"id":90694219,"uuid":"120574655","full_name":"rjl493456442/ethclient","owner":"rjl493456442","description":"Ethereum easy client encapsulated with eth-client offered by go-ethereum","archived":false,"fork":false,"pushed_at":"2018-12-03T07:05:40.000Z","size":2628,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T01:24:21.477Z","etag":null,"topics":["client","ethereum","excel"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rjl493456442.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-07T06:43:46.000Z","updated_at":"2018-12-03T07:05:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"1247b654-c622-42d4-80d2-ce67e8837866","html_url":"https://github.com/rjl493456442/ethclient","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"e49a752445e597eea547f472762a7f40adc6edf1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rjl493456442/ethclient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjl493456442%2Fethclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjl493456442%2Fethclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjl493456442%2Fethclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjl493456442%2Fethclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rjl493456442","download_url":"https://codeload.github.com/rjl493456442/ethclient/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjl493456442%2Fethclient/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32499681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","ethereum","excel"],"created_at":"2024-10-06T15:02:26.768Z","updated_at":"2026-05-01T13:32:51.948Z","avatar_url":"https://github.com/rjl493456442.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Ethereum client\n\nEthereum Easy Client encapsulated with ethclient from go-ethereum\n\n### Installation\n\n\u003e Please make sure you've installed Go tool properly, if you don't have it already, please install golang first).\n\n**1. Download the source code from github**\n\n```Shell\nmkdir -p $GOPATH/src/github.com/rjl493456442\ncd $GOPATH/src/github.com/rjl493456442\ngit clone https://github.com/rjl493456442/ethclient\n```\n\n**2. Build the source code**\n\n```shell \ncd $GOPATH/src/github.com/rjl493456442/ethclient\ngo install\n```\n\n### Usage\n\n**1. Check out the help manaul**\n\n```Shell\n$ ethclient\nNAME:\n   ethclient - ethclient is an easy ethereum client, with which user can interactive with ethereum client easily\n\nUSAGE:\n   ethclient [global options] command [command options] [arguments...]\n\nVERSION:\n   1.0.0-alpha\n\nAUTHOR:\n   Gary rong \u003cgaryrong0905@gmail.com\u003e\n\nCOMMANDS:\n     generate   Generate new keyfile\n     send       Send transaction to ethereum network\n     sendBatch  Send batch of transactions to ethereum network\n     call       Execute a message call transaction in the remote node's VM\n     help, h    Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --help, -h     show help\n   --version, -v  print the version\n```\n\n**2. Generate single or a batch of ethereum keystore files**\n\nGenerate a single keystore file.\n\n```Shell\n$ ethclient generate\n✔ Passphrase: ******\n✔ Confirmation: ******\n19:12:22.075 account.go:110 ▶ NOTI  Address: 0x8A3cF0131CF5ed2598C1910b15194b9733498296\n```\n\nOr you can generate a batch of keystore files together.\n\n```Shell\n$ ethclient generate --number 10 --password 123456\n19:13:25.155 account.go:73 ▶ INFO  Generate 10 ethereum account required\n19:13:26.153 account.go:110 ▶ NOTI  Address: 0x5A6a7c7D9A4fb9989FAAd6eb8412c08511e3cDB6\n...\n```\n\nOf course you can specify the keystore directory path. All generated files will be put to the keystore directory. If not been specified, the default path name is `keystore`.\n\n**3. Send single transaction**\n\nYou can send a single transaction with specified `sender`, `receiver`, `transfer amount` or `invocation data` fields.\n\n```Shell\nethclient send --sender 0x17a985dBC716F06E99c6C3fA38f452C21C8835F0 --receiver 0x157E526B7e71F6a3189A42ad99A0BCbcCEB555b1 --value 100000000 --password ****** --url \u003cremote ethereum node's rpc url\u003e --keystore ~/project/bigdreamer/test/keystore\n\n▶ NOTI  sendTransaction, hash=0x64912ac4307eb7f44f4940967cdfafee53bd81790ed2035c29b8d9798c193f4f\n```\n\nWhat's more, you can set up `--sync` flag if you want to send the transaction synchronously.\n\n**4. Send a batch of transaction simultaneously**\n\nYou can send a batch of transactions simultaneously. The key point of the batch operation is the `batch file`. For the detail description, you can check the appendix section.\n\n```Shell\n$ ethclient sendBatch --keystore ~/project/bigdreamer/test/keystore --url http://172.16.5.3:9999  --batchfile ~/Desktop/excel.xlsx\n\n20:08:55.202 send_transaction.go:193 ▶ NOTI  sendTransaction, hash=0x0a972ae96dc50ef4701e21bc6fe25389801286a96decee9a1ffb49a78b640954\n20:08:55.299 send_transaction.go:193 ▶ NOTI  sendTransaction, hash=0xb8823ca46731ae1066ad5f0b5e6b8d12119d3a5712c33dd040ff4c8dc203fbd6\n20:08:55.399 send_transaction.go:193 ▶ NOTI  sendTransaction, hash=0xae661a83cf7b0d556c25bbb0bcbce43f9cdf7dd4327f01eb405fe6cf2672ebb7\n```\n\n**5. Call**\n\nExecutes a new message call immediately without creating a transaction on the block chain.\n\n```Shell\nethclient call --sender 0x17a985dBC716F06E99c6C3fA38f452C21C8835F0 --receiver 0xe4d45e90961a78b5db9eed5ea744d5e52986fcbc --data 0x93423e9c0000000000000000000000000000000000000000000000000000000001234567 --url http://172.16.5.3:9999\n\n21:04:14.437 call.go:70 ▶ NOTI  Result=00000000000000000000000000000000000000000000000000000000773593ff\n```\n\nYou have to decode the result by yourself.\n\n\u003e Decode function is still under the development.\n\n**6. Generate invocation payload**\n\nEthereum users can always find that encode the invocation params to the payload is troublesome. So we provide a command line tool for users to generate payload easily.\n\n\u003e Note this part of function has been finished. Will be published soon.\n\n### Appendix\n\n#### Batch operation file\n\nIf ethclient users want to send batch transactions, they need to write down all transaction details to a file we called `batch file`. \n\nCurrently, we support two format `batch file`. One is raw text file and another is `MS Excel`. The `json` format will been supported very soon.\n\n**1. Raw text file format**\n\nThe raw text file format is so simple. \n\nThe content of each line in the raw text file represents a transaction's information. In each row, the different fields of the transaction are separated by commas.\n\nThe content of each transaction consists of 5 fields：\n\n1. the sender of the transaction\n2. the recipient\n3. the amount of transfer\n4. the call information \n5. the sender keystore file password\n\nHere is an example:\n\n```\n0x7236Bc5a9Ff647D48b1eceaa07aa6438dCca615e, 0x168f70A4b92E630b31Ab887Fb7956ddB7C3813cf, 100, 0x123456, helloworld\n0x7Cd6342b4b02A90bcf60F1f843d1002897e38b1f, 0x65F28650F3c9721580b81c6d552999270EffFCb1, 100, 0x123456, helloworld\n0xfFc1736f670f305A3d752280d07F6895379cbD70, 0x2C77c0eb01005f8abca57C7c94732A642F825bd8, 100, 0x123456, helloworld\n```\n\nAs for the password filed, it is not a required field in `batch file`. \n\nYou can specify the password either by `password` flag, `passwordfile` flag or in interactive mode.\n\n**2. Excel file format**\n\nExcel format is also supported. The transaction fields are same with raw text file in the above.\n\nA excel format `batch file` looks like:\n\n![](./images/excel_format.jpeg)\n\n#### Macro definition\n\nEthclient also supports macro definition in batch file. For example, if you want to transfer 200 EOS token to the given receiver, you can add the `#TRANSFER EOS 200` macro definition to the `data` field in batch file.\n\nNow only 2 macro definitions are support:\n\n| Macro Definition | Semantic                                 | Argument number | Example                       |\n| ---------------- | ---------------------------------------- | --------------- | ----------------------------- |\n| Transfer         | ```#TRANSFER \u003ctoken symbol\u003e \u003ctoken number\u003e Or \u003ctoken percentage\u003e``` | 2               | ```#TRANSFER EOS 20%```       |\n| BalanceOf        | ```#BALANCEOF \u003ctoken symbol\u003e \u003cholder address\u003e``` | 2               | ```#BALANCEOF EOS 0x123456``` |\n\n\u003e Note, all available tokens are listed in [this json file](https://raw.githubusercontent.com/kvhnuke/etherwallet/mercury/app/scripts/tokens/ethTokens.jso). If you want use your customized token, you can add the token to a customized file adhere the standard format and  specify the `tokenFile` by `--tokenfile` flag.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjl493456442%2Fethclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frjl493456442%2Fethclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjl493456442%2Fethclient/lists"}