Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - 8bit

Pages: [1]
1
I'm trying to get the BTSX client to talk to a node.js app using RPC. The client starts the RPC server fine:

Code: [Select]
$ ./bitshares_client --server --httpport 9989
Loading blockchain from "/home/eightbit/.BitSharesX/chain"
Loading config "/home/eightbit/.BitSharesX/config.json"
Starting JSON RPC server on port 50022 (localhost only)
Starting HTTP JSON RPC server on port 9989 (localhost only)

But when I try to run my node.js server, I get:

Quote
Client: TODO Status Code: 400

Which refers to:

Quote from: wikipedia
4xx Client Error
The 4xx class of status code is intended for cases in which the client seems to have errored. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.

400 Bad Request
The request cannot be fulfilled due to bad syntax.

Here is the RPC section of my config.json:

Code: [Select]
  "rpc": {
    "enable": true,
    "rpc_user": "test",
    "rpc_password": "test",
    "rpc_endpoint": "127.0.0.1:0",
    "httpd_endpoint": "127.0.0.1:0",
    "htdocs": "/"
  },

and here is the code I'm using in node:

Code: [Select]
DELBID.rpc = require('node-json-rpc');

DELBID.rpc.options = {
// int port of rpc server, default 5080 for http or 5433 for https
port: 9989,
// string domain name or ip of rpc server, default '127.0.0.1'
host: '127.0.0.1',
//username
login: "test",
//password
hash: "test"
// string with default path, default '/'
path: '/',
// boolean false to turn rpc checks off, default true
strict: true,
};

// Create a server object with options
DELBID.rpc.client = new DELBID.rpc.Client(DELBID.rpc.options);

//run blockchain_get_config in the wallet and print the results to the console
DELBID.rpc.client.call({"jsonrpc": "2.0", "method": "blockchain_get_config", "params": []}, function(err, res) {
if (err) { console.log(err); } else {
console.log(res);
}
});

I'm not exactly sure how the node.js 'path' and the bitshares config 'htdocs' elements function, so I feel the issue might stem from them. Also, perhaps the rpc method names are different from the hooks in the interactive client? If they are, are they documented anywhere?

2
General Discussion / Preventing Destructive Profiteering
« on: July 24, 2014, 11:16:47 pm »
Right now, I think there are two major threats to BTSX. The first is false names which phish for votes. I3 already has plans to address this in ways which seem adequate. The larger threat, however, is profiteering. Once BTSX leaks out of our little community, people are going to start voting, not for delegates which are reliable or which hope to improve BTS/the BTS community, but rather, for delegates who give them a portion of their pay in exchange for votes. Essentially, we run the risk of turning BTSX into just a Rube Goldberg franken-cryptocurrency, rather than a cryptoequity platform. I fear that, if this is not addressed, this will destroy BTS. Especially with slate delegation on the way. I can just see the profiteering easy lists now.

Now, there is no way, as I understand, to tell who has voted for who directly through the client. However, an inspection of the blockchain which reveals this information would be trivial. I have two suggestions as to how to solve this problem, though I'm not sure if either of these could even work.

The first is to build mixing directly into the blockchain for votes only. If this is possible, it would make an effective inspection of the blockchain theoretically challenging and practically impossible. The second solution is to look at however the hell darkcoin works, and apply their anonymous transaction algorithm to BTSX voting.

By making voting anonymous, we kind of have the best of both worlds. People can still engage in 1  on 1 exchanges (e.g., vote for me and then post in this thread and I'll give you 300 dogecoin) which would encourage new delegates, encourage participating in the community, make more people aware of BTS, and increase the total number of cryptotransactions. However, it would be very difficult to do this on an industrial, impersonal scale and essentially operate a delegate as if it were a mining pool.

To me, this seems like a much more devastating issue than fake names. While the latter is harmful, it wont destroy BTSX and the vast majority of users agree that its bad. However, the former really could break BTSX, and once people have started to use BTSX in this way, it will become difficult to convince them to go along with a fork that removes their ability to profit. This is a ticking time bomb.

3
Stakeholder Proposals / The Big List of Delegates
« on: July 24, 2014, 05:15:38 am »
This is a thread dedicated to listing and organizing the delegates on this forum. I'm keeping it grouped by owner, and I've color coded each delegate according to which of these categories they best fit into:

enhancement: These delegates intend to use their pay to improve BTS itself, rewarding the entire community.
investment: These delegates plan to invest their pay into projects, circulating BTSX.
reliability: These delegates campaign primarily on their reliability rate. High reliability rates make for a fast, slim, and secure blockchain.
faucet: These delegates plan to give away their pay, giving new users some BTSX to play with.
service: These delegates provide some sort of service in exchange for your vote.
charity: These delegates give their pay to charity.
give away: These delegates will give you something upfront in exchange for your vote.
political: These delegates will dedicate their pay to some sort of political goal.
other: These delegates perform some other sort of function.

The 'owner' is the forum name of the person who controls the delegate, and the 'owner pay rate' is the amount of BTSX the delegate keeps for herself.

Why do we need this thread if we can list delegates through the client? This provides an easy way to find delegates who are at least minimally engaged with the community, and clearly conveys what function they provide.

name owner category description pay rate owner pay rate reliability version
btsx.chinesecommunity ripplexiaoshan faucet The faucet is for new users from China 50% 25% 99.5% 0.2.3
bdnoble bdnoble1206 reliability Please vote for bdnoble: High Reliability 99% 100% 99% 0.2.3
delegate-1.eightbit 8bit service You give me votes, and I'll give you with horrible art! 80% 100% N/A 0.2.1
commonwealth 8bit enhancement Giving back to the bitshares community with a 0% pay rate. 0% 0% 92% 0.2.1
spartako spartako reliability low pay rate, high reliability 50% 100% 99% 0.2.3
calabiyau calabiyau enhancement Supporting Swiss Node 95% 5% 99.5% 0.2.3
neuronics calabiyau Enhance Supporting Swiss Node 90% 10% 0% 0.2.3

Please post in this thread if you'd like to be added. Include your formatted rows, as that's annoying and time consuming for me to do. Here's a template you can use:

Code: [Select]
[tr]
[td][color=COLOR][url=https://bitsharestalk.org/index.php?topic=TOPICNUM] DELEGATE [/url][/color][/td]
[td][color=COLOR][url=https://bitsharestalk.org/index.php?action=profile;u=USERNUM] USER [/url][/color][/td]
[td][color=COLOR] CATEGORY [/color][/td][td][color=COLOR] DESCRIPTION [/color][/td]
[td][color=COLOR] PAY RATE [/color][/td]
[td][color=COLOR] OWNER PAY RATE [/color][/td]
[td][color=COLOR] RELIABILITY [/color][/td]
[td][color=COLOR] VERSION [/color][/td]
[/tr]

Replace everything in caps.

If your campaign involves using your funds in a certain way, please provide either A.) evidence of past performance or B.) evidence that you will provide evidence in the future. I will use discretion when adding people to the list, and I will not add accounts that I suspect might be scams.

4
General Discussion / Theres an IRC channel. Why aren't you in it?
« on: July 24, 2014, 12:47:15 am »
Srsly guys, get your shit together.

network: irc.freenode.org
channel: #bitshares

If you don't have an IRC client you can use the web client by clicking here. Just enter #bitshares as the channel name and your forum name (or a different nick of your choice) as your nick, enter the CAPTCHA, and then click connect.

I'm the8thbit and the8thbit|work on the IRC.

5
I've created a delegate named commonwealth which takes a 0% payrate. This reduces the supply of BTSX, deflating it, thereby distributing 100% of my potential pay to the network as a whole. I gain nothing from running this delegate. Type the following to approve commonwealth through the command line:

Code: [Select]
wallet_approve_delegate commonwealth
If you are using the graphical wallet, you can click on this sentence to vote for commonwealth.

Also, please check out my main delegate. (linked in my sig) I am giving free art to anyone who votes for me. You can commission anything you like, and I'll draw it.

6
Stakeholder Proposals / Vote for eightbit and get FREE TERRIBLE art!
« on: July 23, 2014, 12:30:31 am »
A VOTE FOR EIGHTBIT IS A VOTE FOR CRUDE DICK ART


Hello, I make bad art for cryptocoin/currency/asset/whatever holders! I did a series on bitcoin, commissioned by a number of miners that you can view here:

WARNING: NSFW VERY EXPLICIT LOTS OF DICKS. OTHER WARNING: LAST DRAWING IS VERY LARGE AND MAY CAUSE YOUR BROWSER TO HANG OR CRASH

Descriptions of what was commissioned are listed below each image.

Want your own bad art? Vote for me as a delegate and then post in this thread! You can commission anything (not just cryptocurrency related things) and I'll draw them for you! Be as specific or as general as you like. To vote for me, start the BTSX client and issue the following command:

Code: [Select]
wallet_approve_delegate eightbit-delegate-1
I'll be taking an 80% pay-rate, burning 20% to give back to the community.

I don't know how to check who has voted for me yet, so this is entirely based on an honor system! Yes, you could trick me into providing you bad art at no benefit to me, but then how would you sleep at night?

Want bad art, but don't want to vote for me? Teach me how to see who's voted for me and you'll get 1 art!

Note: Your commissioned work does not have to have penises in it, but they will be included unless you explicitly request that they not be.

FAQ

Q. Why should we vote for you? You don't appear to be an expert in blockchains, economics, nor were you active during the test chain. Why do we want the dick art guy running our network?

A. The dick art guy is EXACTLY who you want, exactly because he's got nothing going for him! An organization can become dependent on its strongest members who can lord their experience and knowledge over their hapless shareholders. I, on the other hand, am completely dependent on you! You have no reason to keep me, so one fuck up and I'm gone! That means I have to be extremely representative of my constituents to remain a delegate.

I am now also running ntpd, using four pool.ntp.org nodes and the ubuntu ntp service as reference nodes. As I understand, bitsharesx only uses one reference for ntp, so running your own daemon can significantly improve timing.



Yay!

7
General Discussion / Vote for me and get FREE TERRIBLE art!
« on: July 21, 2014, 06:30:06 am »
A VOTE FOR EIGHTBIT IS A VOTE FOR CRUDE DICK ART


Hello, I make bad art for cryptocoin/currency/asset/whatever holders! I did a series on bitcoin, commissioned by a number of miners that you can view here:

WARNING: NSFW VERY EXPLICIT LOTS OF DICKS. OTHER WARNING: LAST DRAWING IS VERY LARGE AND MAY CAUSE YOUR BROWSER TO HANG OR CRASH

Descriptions of what was commissioned are listed below each image.

Want your own bad art? Vote for me as a delegate and then post in this thread! You can commission anything (not just cryptocurrency related things) and I'll draw them for you! Be as specific or as general as you like. To vote for me, start the BTSX client and issue the following command:

Code: [Select]
wallet_approve_delegate eightbit
I'll be taking an 80% pay-rate, burning 20% to give back to the community. (That reduces inflation, which is good for an equity, right?)

I don't know how to check who has voted for me yet, so this is entirely based on an honor system! Yes, you could trick me into providing you bad art at no benefit to me, but then how would you sleep at night?

Want bad art, but don't want to vote for me? Teach me how to see who's voted for me and you'll get 1 art!

Note: Your commissioned work does not have to have penises in it, but they will be included unless you explicitly request that they not be.

FAQ

Q. Why should we vote for you? You don't appear to be an expert in blockchains, economics, nor were you active during the test chain. Why do we want the dick art guy running our network?

A. The dick art guy is EXACTLY who you want, exactly because he's got nothing going for him! An organization can become dependent on its strongest members who can lord their experience and knowledge over their hapless shareholders. I, on the other hand, am completely dependent on you! You have no reason to keep me, so one fuck up and I'm gone! That means I have to be extremely representative of my constituents to remain a delegate.

I am now also running ntpd, using four pool.ntp.org nodes and the ubuntu ntp service as reference nodes. As I understand, bitsharesx only uses one reference for ntp, so running your own daemon can significantly improve timing.



Yay!

8
General Discussion / The Hive
« on: December 13, 2013, 05:00:46 am »
I find the concept behind datacoin to be really interesting, but I feel it has a bit of a problem. A blockchain is a very clunky way to store rich, human consumable data. Even storing a short book is a daunting task for something like datacoin, storing a whole album, film, or video game is ridiculous. Everyone who uses datacoin would have to download every film, game, etc... that anyone wants to share! What if we leveraged the power of an existing decentralized technology to do the heavy lifting for us?

BitTorrent is a much better protocol for distributing data than a cryptocoin. Instead of using a monolithic blockchain that everyone needs to have a copy of, only the people interested in a file need to worry about it. Unfortunately, BitTorrent has a bit of a problem. Though the underlying technology is decentralized, it has been impossible to completely decentralize data transaction in BitTorrent.

There has certainly been progress, don't get me wrong. In the old days, centralized websites had to host .torrent files- files that would link to a tracker (a centralized server), which would connect new members of the swarm to other members. Today, recent breakthroughs in distributed hash tables have lead to a less centralized way of doing things. Rather than using a centralized tracker users obtain magnet links which are like IDs for torrents. Each member of the BitTorrent network holds a hash table containing the IPs of a small number of nodes on the network. The user with the magnet link sends a request through the network by sending it to one of the IPs listed in her hash table. That node does the same thing, and so on, until a node which is a member of the correct swarm is discovered. This cuts the tracker out of the equation, but there is still a need for a centralized database of magnet link listings. This is why sites like The Pirate Bay still exist. The Pirate Bay is not a tracker anymore, but it's still needed to find the actual magnet links. Still, this is a huge improvement. Now TPB no longer needs to manage the individual users in a swarm, now its only purpose is serving up static information. This means that other users can make backups of TPB, and use those backups to find magnet links. The more people with up to date backups, the less centralized TPB's listings are. And if everyone has an up to date copy of the TPB database...

That's where the blockchain comes in. I think the blockchain may be the final puzzle piece in distributed and decentralized file transfer. The blockchain is, effectively, a database that everyone has, and where new information propagate through the network very quickly. A blockchain is limited in that old data is read only, but that will be fine for our purposes, as most of our blockchain data will be static and/or simple. My idea is that the blockchain would list, not just transactions broadcast to the network, but also magnet links and metadata about the magnet links. (title, description, tags, etc...) A user who wants to download a torrent would search his blockchain for the magnet link, broadcast the link to the BitTorrent node network, locate the torrent's swarm, join the swarm, and download/share the file from/with the swarm.

Like any chain, when blocks are mined a certain number of coins are released to the miner. Much like with datacoins, these coins can be spent to include new data in the blockchain. As the amount of information contained in the magnet link itself is very small, the cost to list a new link should also be very small. To illustrate how small magnet links are and how cheap storing them in a blockchain would be, consider this: If we decided to store all of the data on the pirate bay on the datacoin chain it would cost less than 10000 datacoins, including metadata but not comments. With around 1,700,000 torrents, that's around 0.006 datacoins per torrent.

In order to incentivize seeding, The Hive client sets a default badwidth cost, some arbitrary value, say, 0.0001 hivecoin/kb. A random Hive node is chosen to act as an escrow agent, which receives a large chunk of the payment all at once (Say, 10MB worth) along with the transaction fee, and a small escrow fee. The leacher starts compiling a table that details all of the data he's received. At certain arbitrary intervals, say, once every ten minutes, the table is sent to the escrow detailing all of the data transactions. The escrow releases funds accordingly. If the escrow never receives the table, or if there is extra left over at the end then the escrow keeps the extra.

As the blockchain is aware of all messages to the escrow, there is no risk of the escrow running off with the coin. The blockchain simply moves around the escrow funds on its own. Pending escrow funds wouldn't even show up in an escrow's wallet until some arbitrary and long period of time has passed during which the blockchain has not received contact from the leacher. The escrow service could even be used to reward network nodes, something that bitcoin doesn't manage to do.

In summary, this is an idea for an altchain which completely decentralizes file sharing by creating a listing of torrent magnet links within the blockchain. This replaces the need for centralized listings like The Pirate Bay. The Hive also incentivises seeding which keeps swarms healthy, and incentivises running a chain node which keeps the network healthy.

Possible modifications:

  • Would it be possible for users to issue corrections to inaccurately titled or tagged listings by adding new data to the next block being mined which lists a set of changes and points to the block containing the incorrect listing? Could this be used to rate and comment on torrents? Could this be used to put an updated number of seeders/leachers for every listing in the newest block of the blockchain?

Possible alternatives:

  • As mentioned, datacoin attempts to do a similar thing, but in a more generalized sense. The Hive could effectively lie within the datacoin blockchain, however, the issue with that is that then every user has to put up with every item added to the blockchain. So if someone buys space for a film, everyone has to host that film forever. The Datacoin developers seem to want to go in this direction, encouraging users to set up wallets dedicated to particular large data files and ask for donations in order to get them added to the blockchain. My idea would only allow for torrent magnet links and metadata, so the blockchain would stay slim, and large files could get listed for very cheap. Datacoin does hold the advantage that it immortalizes data, whereas torrents can die if all of the seeders disappear.
  • Freenet attempts to do a similar thing, but it is on the other extreme from datacoin. Rather than storing all of the information locally on the blockchain, all of the information is distributed throughout the entire network. This offers an advantage in that no blockchain ever needs to be downloaded, however, it also carries the disadvantage that it is very slow because information can be located anywhere on the network. Compare to a blockchain where no Internet access is required to retrieve the file, and to torrents where users interested in the same files are organized into decentralized swarms.

Potential issues:

  • If seeding is not incentivized then the blockchain would be technically superfluous. This isn't really an issue, but it's something to think about, as other types of distributed databases might be better suited for this project. That said, datacoin is already very technically similar to what I'm describing, so development may be more rapid as an altchain than as a different type of database.
  • The blockchain would store not just magnet links and metadata, but also a ledger of all Hive transactions. If we used a different type of distributed database which did not track a currency of any sort, then the database size would be much, much smaller. In fact, the actual magnet links would take up a minority of space compared to the transaction ledger. We're talking MB vs. GB, a difference that is several orders of magnitude large. One solution to this is the creation of a litewallet which only holds the magnet links and recent transactions. This type of wallet would only be a few MBs large, but it wouldn't be able to act as a node. Multibit takes this strategy.
  • The blockchain does not allow for older data to be overwritten. Like I've said earlier, this isn't too much of an issue as magnet links are static data, but it would be nice for tags, descriptions, etc... Also, it would be nice to be able to remove some older magnet links which don't have swarms any more. There are ways around this, but they involve bloating the blockchain even more. Rather than overwriting data, you must include both the new data and every old version of the data in the blockchain.

I'm mostly looking for feedback, here. How hard would it be to include the possible modifications I listed? How hard would the base implementation be? Are there any caveats (technical or economic) that I'm missing? Etc...

9
Keyhotee / What's the point of keyhotee?
« on: November 30, 2013, 01:17:25 am »
I already have a bitcoin wallet, and an email client, and and instant messenger, etc... and I can already access these all through one application: my web browser. I understand why decentralization is awesome, but it's really a moot point if no one is using it. So from the perspective of the end user- perhaps the average person who doesn't necessarily have a lot of computer knowhow and isn't necessarily interested in the philosophy of decentralization, what will Keyhotee offer?

Also, I feel like, for Keyhotee to catch on, regardless of how nice it is, it's going to have to get into the browser (maybe not initially, but it has to happen eventually), and it needs to launch with a less silly-sounding name. Are there any plans for web, and is keyhotee a code name or the final name?

EDIT: No disrespect intended. I'm just having trouble wrapping my head around this.

10
General Discussion / BitShares source code?
« on: November 27, 2013, 10:05:58 am »
Is the source code available anywhere? I found a github page, but it doesn't look like there's been a commit in over a month.

EDIT: Nevermind, I found the new one: https://github.com/InvictusInnovations/BitShares

11
General Discussion / BTS vs. ETF
« on: November 26, 2013, 04:26:24 am »
There has been talk of a potential BTC ETF in the works. Would this compete with BTS? Is this seen as a major threat to the viability of BTS?

12
General Discussion / DelieveryDAC?
« on: November 25, 2013, 01:14:49 pm »
With the advent of sophisticated autonomous navigation systems, could a DAC exchange invested bitshares for BTC which are then used to purchase autonomous cars, quadrocopter swarms, etc... and then use these devices to deliver physical objects and people from one location to another, returning the delivery fee as a profit to investors?

13
General Discussion / BitShares Currency Exchange (BSCurEx)
« on: November 25, 2013, 11:35:18 am »
Is BSCurEX (mentioned in the white paper) going to launch along with BTS? If not when is it planned, and what will we be able to invest BTS in in the meantime?

Also, once it does launch, wouldn't the best investment just be to rush bitBTC? That way you can ride it to its equilibrium, ride it as it follows BTC (which is appreciating in a fairly predictable manner) AND get BTS dividends?

Pages: [1]