{"id":13651579,"url":"https://github.com/greymass/eosio-signing-request-java","last_synced_at":"2026-01-14T15:47:13.056Z","repository":{"id":55003845,"uuid":"259091262","full_name":"greymass/eosio-signing-request-java","owner":"greymass","description":"Java wrapper for the EOSIO Signing Request protocol","archived":false,"fork":false,"pushed_at":"2021-04-27T01:28:09.000Z","size":232,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T22:41:31.756Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greymass.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-26T17:26:42.000Z","updated_at":"2022-05-13T14:39:16.000Z","dependencies_parsed_at":"2022-08-14T08:50:18.651Z","dependency_job_id":null,"html_url":"https://github.com/greymass/eosio-signing-request-java","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/greymass/eosio-signing-request-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymass%2Feosio-signing-request-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymass%2Feosio-signing-request-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymass%2Feosio-signing-request-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymass%2Feosio-signing-request-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greymass","download_url":"https://codeload.github.com/greymass/eosio-signing-request-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymass%2Feosio-signing-request-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T15:24:48.085Z","status":"ssl_error","status_checked_at":"2026-01-14T15:23:41.940Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-08-02T02:00:50.683Z","updated_at":"2026-01-14T15:47:13.038Z","avatar_url":"https://github.com/greymass.png","language":"Java","funding_links":[],"categories":["Developers"],"sub_categories":["Libraries and Frameworks"],"readme":"# eosio-signing-request-java\n\nA java/android library to assist with the EOSIO Signing Request (ESR) protocol, it can be found on bintray and dowloaded via jcenter here:\n\nhttps://bintray.com/greymass/com.greymass.eosio-signing-request/eosio-signing-request-java\n\nThe full specification for ESR is available here:\n\nhttps://github.com/eosio-eps/EEPs/blob/master/EEPS/eep-7.md\n\nThe ESR protocol allows for an application (dapp) to generate signature requests (transactions) which can then be passed to signers (wallets) for signature creation. These signature requests can be used within URI links, QR Codes, or other transports between applications and signers.\n\n---\n\n## Installation\n\nTo add esrsdk to your android project's gradle.build file:\n\n```implementation 'com.greymass:esrsdk:1.0.7'```\n\n---\n\n## Signing Request Flow\n\nIn an environment where an ***application/dapp*** is requesting that an end user perform a transaction within their preferred ***signer/wallet***, each of these applications will utilize the `eosio-signing-request-java` library to fulfill different roles.\n\n- The ***application/dapp*** will be creating and encoding the signing request.\n- The ***signer/wallet*** will be decoding and resolving the signing request.\n\nThe specification itself then allows either the ***signer/wallet*** itself to broadcast the finalized transaction, or the transaction/signature themselves can be passed back to the ***application/dapp*** to broadcast.\n\nThe `eosio-signing-request` library is not responsible for transporting this information between the ***application/dapp***\nand ***signer/wallet***, and so this topic will not be covered in this README.\n\n---\n\n## Usage Examples\n\nAs a ***signer/wallet*** if you receive an encoded ESR request, to decode the request:\n\nNOTE: the below example assumes to be running from an Activity or a class where `this` is a Context, from other classes you'll need to pass a Context to `new ESR(context, abiProvider)`\n\n```java\nIAbiProvider abiProvider = new SimpleABIProvider(\"https://eos.greymass.com\");\nSigningRequest signingRequest = new SigningRequest(new ESR(this, abiProvider));\nString esrUri = \"esr://hexstring\";\nsigningRequest.load(esrUri);\n\n// get info pairs\nMap\u003cString, String\u003e info = signingRequest.getInfo();\nString foo = info.get(\"foo\");\n\n// check if this is a identity request\nif (signingRequest.isIdentity()) {\n    ResolvedSigningRequest resolved = signingRequest.resolve(new PermissionLevel(\"myaccount\", \"active\"), new TransactionContext());\n    ResolvedCallback callback = resolved.getCallback(new ArrayList\u003cString\u003e());\n    // call the callback to notify of the request\n} else {\n    // it's a signing request\n    signingRequest.sign(new ISignatureProvider() {\n        @Override\n        public Signature sign(String message) {\n            // sign it\n            return new Signature(\"myaccount\", \"SIG_abc123\");\n        }\n    });\n\n    ResolvedSigningRequest resolved = signingRequest.resolve(new PermissionLevel(\"myaccount\", \"active\"), new TransactionContext());\n    if (signingRequest.getRequestFlag().isBroadcast()) {\n        // broadcast\n    } else {\n        // call the callback so requestor can broadcast\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymass%2Feosio-signing-request-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreymass%2Feosio-signing-request-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymass%2Feosio-signing-request-java/lists"}