<commit_before>
Caesure: a python bitcoin server/node
=====================================

Your Support Appreciated: 1Ncui8YjT7JJD91tkf42dijPnqywbupf7w
------------------------------------------------------------

requirements
------------

  1. [shrapnel](https://github.com/ironport/shrapnel)
  2. either 

    * an openssl library or
    * the pure-python ecdsa package

name
----

It's a pun on the words Caesar and Seizure.  "Render unto Caesar..."

[I realize now that the pun doesn't work in Latin, where Caesar is pronounced 'Kaiser'.  Sorry.]

status
------

In the midst of being ported to shrapnel.  This leaves out Windows users, but still
allows bsd, darwin/osx, & linux.

In addition to the port to shrapnel, some performance-sensitive code is being moved
to cython, including packet codec, b58, hexify, etc...

I'm attempting to make this a full node, with tx verification etc.... script engine on the way.


usage
-----

    $ python bitcoin.py -c <your-external-ip-address> <other-ip-address>

I recommend connecting to a bitcoin client on your local machine, i.e., 127.0.0.1.

Once the client connects to the server it will start to download the block
database.  This will take a while, even if you're talking to localhost.

You can monitor the progress like this:

from another terminal:

    $ telnet /tmp/caesure.bd

[telnet to a unix sock is bsd only, try netcat on linux or bind to 127.0.0.1]

you'll get a python prompt:<commit_msg>status update<commit_after>
Caesure: a python bitcoin server/node
=====================================

Your Support Appreciated: 1Ncui8YjT7JJD91tkf42dijPnqywbupf7w
------------------------------------------------------------

requirements
------------

  1. [shrapnel](https://github.com/ironport/shrapnel)
  2. either 

    * an openssl library or
    * the pure-python ecdsa package

name
----

It's a pun on the words Caesar and Seizure.  "Render unto Caesar..."

[I realize now that the pun doesn't work in Latin, where Caesar is pronounced 'Kaiser'.  Sorry.]

status
------

In the midst of being ported to shrapnel.  This leaves out Windows users, but still
allows bsd, darwin/osx, & linux.

In addition to the port to shrapnel, some performance-sensitive code is being moved
to cython, including packet codec, b58, hexify, etc...

I'm attempting to make this a full node, with tx verification etc....

Script engine is mostly done.  Needs some work on failing constraints
like stack size, sig count, etc.

For the outpoint database, I'm playing with leveldb.  While verifying
the entire blockchain, it seems to perform well at first, but then
disk i/o becomes a serious bottleneck.  For now I'm building the
outpoint db in memory.


usage
-----

    $ python bitcoin.py -c <your-external-ip-address> <other-ip-address>

I recommend connecting to a bitcoin client on your local machine, i.e., 127.0.0.1.

Once the client connects to the server it will start to download the block
database.  This will take a while, even if you're talking to localhost.

You can monitor the progress like this:

from another terminal:

    $ telnet /tmp/caesure.bd

[telnet to a unix sock is bsd only, try netcat on linux or bind to 127.0.0.1]

you'll get a python prompt:
{'fraction_non_alphanumeric': 0.1409937888198758, 'fraction_numerical': 0.014906832298136646, 'mean_word_length': 2.9328449328449326, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 4, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '278260', 'n_tokens_mistral': 1011, 'n_tokens_neox': 925, 'n_words': 425}