Jump to content


Motivate Wolfram+RaspberryPi


  • Please log in to reply
3 replies to this topic

#1 Allen Majewski

Allen Majewski

    Member

  • Lifetime
  • Pip
  • 41 posts
  • LocationFlorida, USA

Posted 20 January 2014 - 06:17 AM

Go here to upvote my post so that it gains traction on the wolfram forum:  http://community.wol...ps/-/m/t/181759


-----------------
Wolfram language is now native on raspberry pi.  Mathematica will, I predict, become a dominant language in software education.

So start getting them to implement bitcoin related code.  Wolfram is GREAT at popularizing mathematics.  And Mathematica produces excellent visualizations.

I posted my suggestions in their request for "New functions I would like to see in future mathematica":  http://community.wol...ps/-/m/t/181759

#2 Richard Wagner

Richard Wagner

    Member

  • Lifetime
  • Pip
  • 84 posts
  • LocationMadison, Wisconsin

Posted 21 January 2014 - 09:21 PM

As a side note, Wolfram is super cool. I helped fund their "alpha" website. It is a calculation engine instead of a search engine. If you type in something like "weather in Hong Kong on Obama's birthday" you will get a huge amount of info. Or if you type "US mortality rate vs. income" it will make graphs and things. Wow! Try it out.

http://www.wolframalpha.com

#3 Allen Majewski

Allen Majewski

    Member

  • Lifetime
  • Pip
  • 41 posts
  • LocationFlorida, USA

Posted 21 January 2014 - 09:38 PM

View PostRichard Wagner, on 21 January 2014 - 09:21 PM, said:

As a side note, Wolfram is super cool. I helped fund their "alpha" website. It is a calculation engine instead of a search engine. If you type in something like "weather in Hong Kong on Obama's birthday" you will get a huge amount of info. Or if you type "US mortality rate vs. income" it will make graphs and things. Wow! Try it out.

http://www.wolframalpha.com

Here's a function that generates the base58 encoding of an integer.  So it begins:

bcstring[v_] := 
 StringJoin[
  IntegerDigits[v, 58] /. ((*the rest encodes the symbol chart*)
	Table[i -> ToString[i + 1], {i, 0, 8}]~Join~
	 Table[i -> 
	   DeleteCases[CharacterRange["A", "Z"], 
		 x_ /; x == "I" || x == "O"][[i - 8]], {i, 9, 32}]~Join~
	 Table[i -> 
	   DeleteCases[CharacterRange["a", "z"], "l"][[i - 32]], {i, 33, 
	   57}])]


#4 Allen Majewski

Allen Majewski

    Member

  • Lifetime
  • Pip
  • 41 posts
  • LocationFlorida, USA

Posted 24 January 2014 - 02:07 AM

Its perhaps not widely known that a few mathematical constructs were were either invented just for bitcoin or are basically used exclusively bit bitcoin.

Base58 is used for addresses because it does not allow the possibility to ambiguity between 0, and O, or between 1 and l or L...you see?

This is the symbol chart:  https://en.bitcoin.i...58_symbol_chart

And this means that we convert extremely large numbers to base58 for use as bitcoin address.  The way addresses are constructed is a bit interesting, and includes both a SHA256 hash and a RIPEMD160 bit hash of a padded public key; then some extra checksum bits are placed at the end of the result of the base58 encoding of the result of the double has I described.  

It would be very nice if wolfram included some prepackaged functions - parhaps one to take a public key to its address directly.


Currently, the way the bcstring function above works looks like this - it takes a huge decimal input and outputs a base58 version:


In[11]:= bcstring[2^210-8676823059+9832745091327059]
Out[11]= YMeFyt4YTd4bsX4GLEupDjyGbF2oLbW1LCGw

I'd like to make a library of mathemtaics tools for bitcoin to popularize bitcoin in raspberry pi and mathematica circles...will anyone collaborate with me?