The cl-base58 Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-base58 Reference Manual

This is the cl-base58 Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:28:55 2022 GMT+0.

Table of Contents


1 Introduction

This library implements the base58 encoding algorithm. It's basically base64 but with a smaller alphabet (58, as in the title) that doesn't include similar looking characters, among other things.

The implementation is essentially a carbon copy of Gavin Andresen's Python code.

Usage

cl-user> (base58:encode "this is a test")
"jo91waLQA1NNeBmZKUF"
cl-user> (base58:decode "jo91waLQA1NNeBmZKUF")
"this is a test"

Tests

The encoded strings in the tests were created with Andresen's unmodified code, so they are correct. Probably.

License

Copyright (c) 2014 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-base58

An implementation of base58 for Common Lisp

Author

Fernando Borretti

Home Page

https://github.com/eudoxia0/cl-base58

License

MIT

Long Description

This library implements the base58 encoding algorithm. It’s basically base64 but with a smaller alphabet (58, as in the title) that doesn’t include similar looking characters,
[among other things](https://github.com/bitcoin/bitcoin/blob/master/src/base58.h).

The implementation is essentially a carbon copy of Gavin Andresen’s
[Python code](https://bitcointalk.org/index.php?topic=1026.0).

# Usage

“‘lisp
cl-user> (base58:encode "this is a test")
"jo91waLQA1NNeBmZKUF"
cl-user> (base58:decode "jo91waLQA1NNeBmZKUF")
"this is a test"
“‘

# Tests

The encoded strings in the tests were created with Andresen’s unmodified code, so they are correct. Probably.

# License

Copyright (c) 2014 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.

Version

0.1

Source

cl-base58.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 cl-base58/src

Source

cl-base58.asd.

Parent Component

cl-base58 (system).

Child Component

cl-base58.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

4.1.1 cl-base58/cl-base58.asd

Source

cl-base58.asd.

Parent Component

cl-base58 (system).

ASDF Systems

cl-base58.

Packages

cl-base58-asd.


4.1.2 cl-base58/src/cl-base58.lisp

Source

cl-base58.asd.

Parent Component

src (module).

Packages

base58.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 base58

Source

cl-base58.lisp.

Use List

common-lisp.

Public Interface
Internals

Previous: , Up: Packages   [Contents][Index]

5.2 cl-base58-asd

Source

cl-base58.asd.

Use List
  • asdf/interface.
  • common-lisp.

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


6.1.1 Ordinary functions

Function: decode (str &optional length)
Package

base58.

Source

cl-base58.lisp.

Function: encode (str)
Package

base58.

Source

cl-base58.lisp.


6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Special variables

Special Variable: +alphabet+
Package

base58.

Source

cl-base58.lisp.

Special Variable: +len+
Package

base58.

Source

cl-base58.lisp.


Previous: , Up: Internals   [Contents][Index]

6.2.2 Ordinary functions

Function: divmod (number divisor)
Package

base58.

Source

cl-base58.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts