jdbtracker (OP)
|
|
June 28, 2013, 01:07:40 PM |
|
Hi all thought I'd do something crazy with my time, if i was able to program Bitcoin in LISP, what crazy things do you think i could do with it?
i was particularly interested in the fact that Lisp can pretty much write itself while it is running, this could be an interesting point towards far more resiliency by the client... Self Programming bitcoin client maybe?
|
If you think my efforts are worth something; I'll keep on keeping on. I don't believe in IQ, only in Determination.
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1134
|
|
June 28, 2013, 01:53:00 PM |
|
If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app.
|
|
|
|
legitnick
|
|
June 28, 2013, 04:23:13 PM |
|
They work fine, lots of people have made some really awesome apps using those program codes.
|
|
|
|
abbyd
|
|
June 28, 2013, 07:09:35 PM |
|
thought I'd do something crazy with my time ...
Bitcoin in LISP
Can't help but note the irony of your sig: "Minimum Effort/Maximum effect".
|
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
June 29, 2013, 04:03:50 PM |
|
I like scheme and lisp a lot, but I wouldn't use it for for mining.
I think, you could do cool trading stuff, though. Maybe use a java trading lib and jscheme for the trading code.
|
|
|
|
jdbtracker (OP)
|
|
June 29, 2013, 04:09:39 PM |
|
lol! Yeah the irony of it. Such a simple language with very extreme flexibility.
A high level language like this may give me the ability to prototype a very complex program without having to worry about the little details. I was thinking of introducing AI routines into it to self optomize while it runs, just to see what the proper settings should be. later on I'll program it in a low level language to make it ultra efficient... not sure what to use though C? Machine code? Assembly on rails? lol!
|
If you think my efforts are worth something; I'll keep on keeping on. I don't believe in IQ, only in Determination.
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
June 29, 2013, 04:47:20 PM |
|
I use drools for ai and java for the rest.
But I also use scheme and lisp a few years ago.
Let me know, if you are interested in a collab. I already have most of the code for the exchange APIs etc.
|
|
|
|
domob
Legendary
Offline
Activity: 1135
Merit: 1170
|
|
July 01, 2013, 07:22:05 AM |
|
I like scheme and lisp a lot, but I wouldn't use it for for mining.
I think, you could do cool trading stuff, though. Maybe use a java trading lib and jscheme for the trading code.
I agree. Scheme is a very cool language, but it is surely best suited for abstracting high-level business-logic (with concise and clean code) and not for high-performance applications like mining.
|
Use your Namecoin identity as OpenID: https://nameid.org/Donations: 1 domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NC domobcmcmVdxC5yxMitojQ4tvAtv99pY BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
|
|
|
abbyd
|
|
July 04, 2013, 08:09:38 AM |
|
lol! Yeah the irony of it. Such a simple language with very extreme flexibility.
A high level language like this may give me the ability to prototype a very complex program without having to worry about the little details.
Uhhhuh, those outdated libraries should work really well for you, and installing and configuring the compiler/build environment on 4 different operating systems should keep you busy. If you're lucky, you could be compiling "hello world" after a week of work. What exactly is the purpose of porting a mature GPL C++ application to LISP in 2013? Sorry, I just can't think of ANY reason to do such a thing... particularly for someone who seeks "Minimum Effort/Maximum effect".
|
|
|
|
jdbtracker (OP)
|
|
July 04, 2013, 07:51:29 PM |
|
it's the features of the language that interest me. It can reprogram itself while it runs. i was wondering what would happen if the program itself regulated itself for a specific target. It's more of an experiment in AI than anything else.
I'm counting on modern compilers, a very full featured one that will allow me on the fly reprogramming, creating nodes that speak to each other mapping out the network.
|
If you think my efforts are worth something; I'll keep on keeping on. I don't believe in IQ, only in Determination.
|
|
|
adrian33
Member
Offline
Activity: 118
Merit: 10
|
|
August 10, 2013, 06:53:41 PM |
|
If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app. Is the explorer online for the public?
|
|
|
|
natb
Newbie
Offline
Activity: 28
Merit: 12
|
|
August 11, 2013, 05:01:04 PM |
|
I think if you are looking to write self-modifying (adaptive) code, I don't think doing anything on the Bitcoin transaction/mining level is interesting problem for this type of programming. Bitcoin transactions are bound by a known set of rules, and the core problem of generating blocks in mining revolves around using brute force to get a certain hash output.
I think the most interesting place for adaptive algorithms is in a trading application. Having your program attempt to 'learn' any patterns that may exist in Bitcoin trading is an interesting problem - and one that is also very applicable to the stock market as well not just Bitcoin.
|
|
|
|
jdbtracker (OP)
|
|
August 11, 2013, 11:23:33 PM |
|
I was playing around with rerouting algorithms, how the network speaks to all the peers making it adaptive to distribute for best pattern. Also thinking about adaptive algorithms for the proof of work,just seeing if the program could find a way of doing it more efficiently without increasing TH/s, for an alt-coin. just thinking anywhere where adaptive behaviour would be interesting to see, if the Bitcoin protocol was fully distributed with the mining as well, so all mining nodes communicated with each other. It would be interesting to see a payout payed out directly to all participants instead of a competing few, you know like in a team environment. All nodes would help each other out regardless of POW, may help with everyone trying to make an alt POW coin. or in the way that Bitcoin searches the chain, what if it looked at the chain over the network and only downloaded the chain as needed a la p2p torrent style? with a evolutionary algorithm you could do some amazing things, at many levels if it is implemented at all levels of Bitcoin, but constrained to the points of failure so it has a safe range to adapt the system. The human aspects that we would interact with, the base settings, would be left alone, though it would be interesting to see a coin that fully adapted in coin amount, coin creation, and transaction limits interactively. I'd call it Botcoin
|
If you think my efforts are worth something; I'll keep on keeping on. I don't believe in IQ, only in Determination.
|
|
|
biteasy
Newbie
Offline
Activity: 55
Merit: 0
|
|
November 21, 2013, 09:02:54 PM |
|
If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app. Is the explorer online for the public? Took a bit longer, but it is now https://www.biteasy.com
|
|
|
|
danneu
Newbie
Offline
Activity: 32
Merit: 0
|
|
November 21, 2013, 10:20:59 PM Last edit: November 21, 2013, 10:31:34 PM by danneu |
|
I have an experimental Clojure implementation that has begun the journey of reimplementing Bitcoin from scratch.
At the moment, it implements most of the wire protocol, can talk to nodes, parse the blockchain into a Datomic database, and host a local block-explorer on top of that data.
Bitcoin is an interesting protocol to implement with a functional language since its core datastructure is one big immutable list of cons operations, so a Clojure implementation is more interesting to me for its functional paradigm than its Lispyness.
My goal right now is to shape it into something end-users can easily use to query the fully-indexed blockchain locally.
|
|
|
|
biteasy
Newbie
Offline
Activity: 55
Merit: 0
|
|
November 22, 2013, 07:42:28 AM |
|
I have an experimental Clojure implementation that has begun the journey of reimplementing Bitcoin from scratch.
At the moment, it implements most of the wire protocol, can talk to nodes, parse the blockchain into a Datomic database, and host a local block-explorer on top of that data.
Bitcoin is an interesting protocol to implement with a functional language since its core datastructure is one big immutable list of cons operations, so a Clojure implementation is more interesting to me for its functional paradigm than its Lispyness.
My goal right now is to shape it into something end-users can easily use to query the fully-indexed blockchain locally.
Is there any code online that we can have a look?
|
|
|
|
jdbtracker (OP)
|
|
November 22, 2013, 12:52:44 PM |
|
Wow thank you very much, Clojure, sounds like a great idea.
I'm currently just researching parameters to modify to create an experimental coin, just basics, modifiable blocksize, reward, mining distribution/organization, peer allocation and distribution of blockchain... also brain storming on modifications to the block structure, direct user to user interaction and collaboration, anything that can be modified I want to know what happens for future coin designs.
I'm learning Clojure right now, it sure as hell beats making Bots from C++... difficult.
|
If you think my efforts are worth something; I'll keep on keeping on. I don't believe in IQ, only in Determination.
|
|
|
corebob
|
|
November 22, 2013, 01:09:52 PM |
|
|
|
|
|
|