{"id":16086594,"url":"https://github.com/emaringolo/pharo-base58","last_synced_at":"2026-05-01T14:31:54.471Z","repository":{"id":93776577,"uuid":"124120104","full_name":"eMaringolo/pharo-base58","owner":"eMaringolo","description":"Base58/Base58Check encoder and decoder for Pharo","archived":false,"fork":false,"pushed_at":"2018-03-10T06:12:47.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T11:39:52.581Z","etag":null,"topics":["bitcoin","pharo","smalltalk"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","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/eMaringolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-06T18:20:10.000Z","updated_at":"2018-10-08T20:50:53.000Z","dependencies_parsed_at":"2023-03-01T13:00:34.251Z","dependency_job_id":null,"html_url":"https://github.com/eMaringolo/pharo-base58","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMaringolo%2Fpharo-base58","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMaringolo%2Fpharo-base58/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMaringolo%2Fpharo-base58/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eMaringolo%2Fpharo-base58/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eMaringolo","download_url":"https://codeload.github.com/eMaringolo/pharo-base58/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353675,"owners_count":20925325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bitcoin","pharo","smalltalk"],"created_at":"2024-10-09T13:24:28.517Z","updated_at":"2026-05-01T14:31:54.401Z","avatar_url":"https://github.com/eMaringolo.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pharo-base58\nBase58 and most importantly [Base58Check](https://en.bitcoin.it/wiki/Base58Check_encoding) encoder/decoder for [Pharo](https://pharo.org).\n\nBase58 is mostly used in cryptocurrencies such as Bitcoin, but it was also used by Flickr. This encoder supports both alphabets.\n\n## Installation\n\nNo Baseline yet, a single package with no external dependencies including one test class.\n\n```\nGofer it\n  repository: (MCRepository fromUrl: 'github://eMaringolo/pharo-base58/src'); \n  package: 'Base58-Core'; \n  load.\n```\n\n\n## API\n\n### `#encode: aByteArray`\nEncodes aByteArray to a Base58 string\n### `#decode: aString`\nDecodes to a ByteArray a Base58 encoded string\n### `encodeCheck: aByteArray version: anInteger`\nEncodes aByteArray using Base58Check with anInteger as version byte.\n###  `encodeCheck: aByteArray`\nSame as previous with `0` as version byte.\n### `decodeCheck: aString`\nDecodes a Base58Check encoded string, returns a `Base58CheckWrapper` instance, that responds to `version`, `payload` and `checksum`.\n\n\n## Examples\n\n### Generating a Bitcoin address\nConverting the RIPEMD160 20 byte hash `010966776006953D5567439E5E39F86A0D273BEE` to a Bitcoin P2PKH address\n```smalltalk\n| encoder |\nencoder := Base58Encoder new.\n(encoder encodeCheck: ByteArray readHexFrom: '010966776006953D5567439E5E39F86A0D273BEE') \n\"'16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM'\"\n ```\n\n```smalltalk\n| encoder |\nencoder := Base58Encoder new.\n(encoder decode: 'BJBRbygJtzBfp4gjJG2iqL') asString  \n\"'Satoshi Nakamoto'\"\n ```\n\nSee the test suite `Base58EncoderTest` for more examples.\n\n ### Remarks\n Base58 converts leading zero bytes in the input to '1' characters in the output, \n so an hex string `0001` or `#[0 0 0 1]` ByteArray will be encoded as `1112`, \n so leading zeros in the input are significant.\n \n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femaringolo%2Fpharo-base58","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femaringolo%2Fpharo-base58","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femaringolo%2Fpharo-base58/lists"}