RejectedSoftware Forums

Sign up

vibe.d / Open-Transactions / Untraceable digital cash

Hello, I'm the author of Open-Transactions, available here: http://github.com/FellowTraveler/Open-Transactions

I'm a big fan of the D language, and I've provided a D API for Open-Transactions.

I'm really interested in the vibe.d framework, and would love to try to make a one-page web app using OT, just for cash token exchanges. (Could be used for Bitcoin mixing, there is a lot of demand...)

All it really needs to do is have a place where you can paste a digital cash token, and click a button. (And call an API call from my library.)

I'm not much of a web guy, and I'm wondering if someone can work with me for 5 or 10 minutes to help me create a vibe.d page that will do this?

Is there an IRC channel or something? I know if a vibe.d expert was on this with me, we'd have it working in a matter of minutes.

Thanks in advance if anyone knows anyone.

Re: vibe.d / Open-Transactions / Untraceable digital cash

--MP/3zXyzh06.v+zVb=r4xkG.J
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Fri, 15 Mar 2013 04:16:06 GMT
"Fellow Traveler" fellowtraveler@rayservers.net wrote:

Hello, I'm the author of Open-Transactions, available here:
http://github.com/FellowTraveler/Open-Transactions

I'm a big fan of the D language, and I've provided a D API for
Open-Transactions.

I'm really interested in the vibe.d framework, and would love to try
to make a one-page web app using OT, just for cash token exchanges.
(Could be used for Bitcoin mixing, there is a lot of demand...)

All it really needs to do is have a place where you can paste a
digital cash token, and click a button. (And call an API call from my
library.)

I'm not much of a web guy, and I'm wondering if someone can work with
me for 5 or 10 minutes to help me create a vibe.d page that will do
this?

Is there an IRC channel or something? I know if a vibe.d expert was
on this with me, we'd have it working in a matter of minutes.

Thanks in advance if anyone knows anyone.

This should get you started. See the attached files.

Set up your directory like this:

open-transaction-page/
|
|-- source/
| |-- app.d
|
|--package.json

At that point, if you have DUB http://registry.vibed.org/download
installed, you should be able to just run "dub" and it'll grab
Vibe.d, compile the app, and run it. But I wasn't able to get that to
work for some reason.

But this worked for me, on windows:

Download & extract vibe-d v0.9.12 to a sister directory named
"vibe.d-0.7.12" (looks like there's a newer v0.9.13 that'll probably
work too, but I don't have it installed ATM):

my-projects\|-- vibe.d-0.7.12/
| |-- (stuff)
|
|-- open-transaction-page/

|
|-- source/
|   |-- app.d
|
|--package.json


Then from open-transaction-page, do:

rdmd -debug -gc -wi

-I..\vibe.d-0.7.12\source ..\vibe.d-0.7.12\lib\win-i386\event2.lib ..\vibe.d-0.7.12\lib\win-i386\eay.lib ..\vibe.d-0.7.12\lib\win-i386\ssl.lib
ws2_32.lib --build-only -ofotPage source\app.d

otPage

Once it says "Running event loop...", go to your browser and open
"http://localhost:8080/". To stop the server, just switch back to
it and Ctrl-C.

To make it actually work for real tokens, you'll see inside "app.d" that
you'd just need to fill out the function "bool attemptToUseToken(string
token)".

--MP/3zXyzh06.v+zVb=r4xkG.J
Content-Type: application/octet-stream; name=package.json
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=package.json

ewoJIm5hbWUiOiAgICAgICAgIm90LXBhZ2UiLAoJImRlc2NyaXB0aW9uIjogIlNhbXBsZSBvcGVu
LXRyYW5zYXRpb24gdG9rZW4gc3VibWlzc2lvbiBwYWdlLiIsCgkiaG9tZXBhZ2UiOiAgICAiaHR0
cDovL2V4YW1wbGUuY29tIiwKCSJhdXRob3JzIjogICAgIFsiU29tZSBEdWRlIl0sCgkibGljZW5z
ZSI6ICAgICAiU29tZSBsaWNlbnNlIiwKCSJjb3B5cmlnaHQiOiAgICLCqUJsYWggYmFsaCIsCgkK
CSJkZXBlbmRlbmNpZXMiOiB7CgkJInZpYmUtZCI6ICI9PTAuNy4xMiIKCX0KfQo=

--MP/3zXyzh06.v+zVb=r4xkG.J
Content-Type: application/octet-stream; name=app.d
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=app.d

aW1wb3J0IHN0ZC5hcnJheTsKaW1wb3J0IHZpYmUuZDsKCi8vLyBXaGF0ZXZlciBVUkwgeW91IHdh
bnQuIENvdWxkIGJlICIvb3Blbi10cmFucyIgb3Igd2hhdGV2ZXIgaWYgeXVvdXIgd2FudGVkLgpl
bnVtIGJhc2VVcmwgPSAiLyI7CmVudW0gcG9ydCA9IDgwODA7CgovLy8gQ2hhbmdlIHRoaXMgdG8g
dHJ1ZSBpcyB5b3UgaGF2ZSB0aGlzIGFsbCBzZXQgdXAgYmVoaW5kIGFuIEhUVFBTIHJldmVyc2Ug
cHJveHkuCi8vLyBJIHRoaW5rIFZpYmUuZCBjYW4gZG8gSFRUUFMgYnkgaXRzZWxmIG5vdywgYnV0
IEkgaGF2ZW4ndCB0cmllZCBpdCBzbyBJIGRvbid0IGtub3cgaG93LgplbnVtIHVzZVNlY3VyZUNv
b2tpZSA9IGZhbHNlOwoKLy8vIE1haW4gZW50cnkgcG9pbnQKc3RhdGljIHRoaXMoKQp7CgkvLyBJ
bml0IHNldHRpbmdzCglhdXRvIGh0dHBTZXJ2ZXJTZXR0aW5ncyA9IG5ldyBIdHRwU2VydmVyU2V0
dGluZ3MoKTsKCWh0dHBTZXJ2ZXJTZXR0aW5ncy5wb3J0ID0gcG9ydDsKCWh0dHBTZXJ2ZXJTZXR0
aW5ncy5zZXNzaW9uU3RvcmUgPSBuZXcgTWVtb3J5U2Vzc2lvblN0b3JlKCk7CgoJLy8gU2V0dXAg
VVJMcyB3aXRoIHRoZSBmdW5jdGlvbnMgdGhleSB0cmlnZ2VyCglhdXRvIHJvdXRlciA9IG5ldyBV
cmxSb3V0ZXIoKTsKCXJvdXRlci5nZXQoYmFzZVVybCwgJnNob3dQYWdlKTsKCXJvdXRlci5wb3N0
KGJhc2VVcmwsICZoYW5kbGVQb3N0KTsKCgkvLyBTdGFydAoJbGlzdGVuSHR0cChodHRwU2VydmVy
U2V0dGluZ3MsIHJvdXRlcik7Cn0KCi8vIEkgaGF2ZW4ndCBiZWVuIHVzaW5nIFZpYmUncyB0ZW1w
bGF0aW5nIHN5c3RlbSBzbyBJIGRvbid0IGtub3cgaG93IHRvLCBidXQgdGhpcyB3b3JrcyBmaW5l
LgplbnVtIGh0bWxQYWdlID0gYAo8aHRtbD4KCTxoZWFkPgoJCTx0aXRsZT5PcGVuIFRyYW5zYWN0
aW9uPC90aXRsZT4KCTwvaGVhZD4KCgk8Ym9keT4KCQkkKE1FU1NBR0UpCgkJPGZvcm0gYWN0aW9u
PSJgfmJhc2VVcmx+YCIgbWV0aG9kPSJQT1NUIj4KCQkJPGxhYmVsPkVudGVyIHlvdXIgRGlnaXRh
bCBDYXNoIHRva2VuOjwvbGFiZWw+PGJyIC8+CgkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJk
aWdpdGFsLWNhc2gtdG9rZW4iIGlkPSJkaWdpdGFsLWNhc2gtdG9rZW4iIHZhbHVlPSIiIHN0eWxl
PSJ3aWR0aDogMzBlbSIvPjxiciAvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJt
aXQtYnV0dG9uIiBpZD0ic3VibWl0LWJ1dHRvbiIgdmFsdWU9IlN1Ym1pdCIgLz4KCQk8L2Zvcm0+
Cgk8L2JvZHk+CjwvaHRtbD4KYDsKCnZvaWQgc2hvd1BhZ2UoSHR0cFNlcnZlclJlcXVlc3QgcmVx
LCBIdHRwU2VydmVyUmVzcG9uc2UgcmVzKQp7CglyZXF1aXJlU2Vzc2lvbihyZXEsIHJlcyk7CgkK
CS8vIFJldHJlaXZlICJtZXNzYWdlIHRvIHVzZXIiIGZyb20gc2Vzc2lvbiwgaWYgdGhlcmUgaXMg
YSBtZXNzYWdlLgoJYXV0byBwYWdlID0gaHRtbFBhZ2U7CglzdHJpbmcgbWVzc2FnZTsKCWlmKHJl
cS5zZXNzaW9uLmlzS2V5U2V0KCJtZXNzYWdlIikpCgkJbWVzc2FnZSA9IHJlcS5zZXNzaW9uWyJt
ZXNzYWdlIl07CgkKCS8vIEluc2VydCBtZXNzYWdlIGludG8gSFRNTCBwYWdlCglwYWdlID0gcGFn
ZS5yZXBsYWNlKCIkKE1FU1NBR0UpIiwgbWVzc2FnZSk7CgoJLy8gRG9uZSB3aXRoIHRoZSBtZXNz
YWdlCglyZXEuc2Vzc2lvblsibWVzc2FnZSJdID0gIiI7CgkKCS8vIFNlbmQgcGFnZSB0byBjbGll
bnQKCXJlcy53cml0ZUJvZHkocGFnZSwgInRleHQvaHRtbCIpOwp9CgovLy8gQ2FsbGVkIHdoZW4g
dGhlIGZvcm0gaXMgc3VibWl0dGVkCnZvaWQgaGFuZGxlUG9zdChIdHRwU2VydmVyUmVxdWVzdCBy
ZXEsIEh0dHBTZXJ2ZXJSZXNwb25zZSByZXMpCnsKCXJlcXVpcmVTZXNzaW9uKHJlcSwgcmVzKTsK
CQoJLy8gVmFsaWRhdGUgZm9ybSBzdWJtaXNzaW9uCglzdHJpbmcgbWVzc2FnZTsKCWlmKGF1dG8g
dG9rZW5QdHIgPSAiZGlnaXRhbC1jYXNoLXRva2VuIiBpbiByZXEuZm9ybSkKCXsKCQlpZigqdG9r
ZW5QdHIgPT0gIiIpCgkJCW1lc3NhZ2UgPSBgPHAgc3R5bGU9ImNvbG9yOiByZWQ7Ij5QbGVhc2Ug
ZW50ZXIgYSB0b2tlbi48L3A+YDsKCQllbHNlCgkJewoJCQkvLyBUcnkgdG8gdXNlIHRoZSB0b2tl
bgoJCQlhdXRvIHN1Y2Nlc3MgPSBhdHRlbXB0VG9Vc2VUb2tlbigqdG9rZW5QdHIpOwoJCQlpZihz
dWNjZXNzKQoJCQkJbWVzc2FnZSA9IGA8cD5Eb25lISBXYW50IHRvIHVzZSBhbm90aGVyIHRva2Vu
PzwvcD5gOwoJCQllbHNlCgkJCQltZXNzYWdlID0gYDxwIHN0eWxlPSJjb2xvcjogcmVkOyI+SW52
YWxpZCB0b2tlbiEgKFRyeSAiMTIzNCIpPC9wPmA7CgkJfQoJfQoJZWxzZQoJCW1lc3NhZ2UgPSBg
PHAgc3R5bGU9ImNvbG9yOiByZWQ7Ij5BbiBpbnZhbGlkIHJlcXVlc3Qgd2FzIHJlY2VpdmVkLjwv
cD5gOwoJCgkvLyBTdG9yZSB0aGUgbWVzc2FnZSB0byB0aGUgdXNlciBpbiB0aGUgc2Vzc2lvbi4K
CXJlcS5zZXNzaW9uWyJtZXNzYWdlIl0gPSBtZXNzYWdlOwoJCgkvLyBSZWRpcmVjdCBiYWNrIHRv
IG9yaWdpbmFsIHBhZ2UgKGluc3RlYWQgb2YgYWN0dWFsbHkgZGlzcGxheWluZyBhIHBhZ2UpCgkv
LyBzbyB0aGF0ICJyZWZyZXNoIHBhZ2UiIGRvZXNuJ3QgcmUtc3VibWl0LiBJdCdzIGdvb2QgcHJh
Y3RpY2UgdG8gZG8gaXQgdGhpcyB3YXkuCglyZXMuc3RhdHVzQ29kZSA9IEh0dHBTdGF0dXMuRm91
bmQ7CglyZXMuaGVhZGVyc1siTG9jYXRpb24iXSA9IGJhc2VVcmw7CglyZXMud3JpdGVCb2R5KCJS
ZWRpcmVjdCB0bzogIn5iYXNlVXJsLCAidGV4dC9wbGFpbiIpOwp9CgovLy8gQ3JlYXRlIHNlc3Np
b24gaWYgdGhlcmUgaXNuJ3Qgb25lCnZvaWQgcmVxdWlyZVNlc3Npb24oSHR0cFNlcnZlclJlcXVl
c3QgcmVxLCBIdHRwU2VydmVyUmVzcG9uc2UgcmVzKQp7CglpZihyZXEuc2Vzc2lvbiBpcyBudWxs
KQoJCXJlcS5zZXNzaW9uID0gcmVzLnN0YXJ0U2Vzc2lvbihiYXNlVXJsLCB1c2VTZWN1cmVDb29r
aWUpOwp9CgovLy8gQWN0dWFsbHkgdXNlIHRoZSB0b2tlbi4gT3IgcmV0dXJuIGZhbHNlIGlmIHRo
ZSB0b2tlbiBpcyBpbnZhbGlkLgpib29sIGF0dGVtcHRUb1VzZVRva2VuKHN0cmluZyB0b2tlbikK
ewoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vVE9ETzogRG8geW91ciB0aGluZyBo
ZXJlCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCglpZih0b2tlbiAhPSAiMTIzNCIp
CgkJcmV0dXJuIGZhbHNlOwoJCglyZXR1cm4gdHJ1ZTsKfQo=

--MP/3zXyzh06.v+zVb=r4xkG.J--

Re: vibe.d / Open-Transactions / Untraceable digital cash

On Fri, 15 Mar 2013 13:03:16 -0400
Nick Sabalausky SeeWebsiteToContactMe@semitwist.com wrote:

At that point, if you have DUB http://registry.vibed.org/download
installed, you should be able to just run "dub" and it'll grab
Vibe.d, compile the app, and run it. But I wasn't able to get that to
work for some reason.

Nevermind, I was using an old version of DMD (v2.060). It works with
2.062.

However, I do still get an error with "dub --rdmd":

Checking dependencies in 'C:\DevProj\otPage'
Error: Trying to append absolute path.

Run 'dub help' for usage information.

Re: vibe.d / Open-Transactions / Untraceable digital cash

Am 15.03.2013 18:09, schrieb Nick Sabalausky:

However, I do still get an error with "dub --rdmd":

Checking dependencies in 'C:\DevProj\otPage'
Error: Trying to append absolute path.

Run 'dub help' for usage information.

That was a bug in the 0.9.11 version. It was fixed on master right after
the release, but no new version is out, yet.