Pages:
Author

Topic: NXT reward program clients - page 2. (Read 5445 times)

newbie
Activity: 56
Merit: 0
January 15, 2014, 01:55:54 PM
#43
How exactly were you able to remove java from the equation completely? That must be some monster code?

Any senior level dev with the knowledge of the .NET and Java could do that. The code is not good at this point. That's why i am not releasing it.
newbie
Activity: 56
Merit: 0
January 15, 2014, 01:52:51 PM
#42
How exactly were you able to remove java from the equation completely? That must be some monster code?

I was wondering the same and took a look. There is a 96KB NXT.Core.dll and I can believe that this is a NXT core implementation in .NET.

Are you doing HTTP API requests to a server in the network?

You could check the application by running it in isolated VM with the network disabled. It will allow you to log in into account and to see the past transactions. (Never checked that, but it should)
newbie
Activity: 56
Merit: 0
January 15, 2014, 01:50:06 PM
#41
Okay. Couple of points:
- It's pure .NET code, there is no "any server" in the network (it connects to nxt nodes only as the original client does)
- It's not wrapper around the Java code. You could test it by running on VM without Java installed.
- It's not converted by some tool. It's just impossible to convert servlet into WPF application.
- Binary size doesn't matter .... same applies to Java btw.
- It's not the same functionality as original client. It doesn't accept any incoming connections and that's a lot of code. Also it couldn't generate the hallmark for ex.
- I strongly recommend not to use decompiled code for any product. As I told - i will publish the full source code later.
- All work was done by myself. It was started on December, not just 2 days ago  Smiley

Please ask more if I missed something.
full member
Activity: 224
Merit: 100
January 15, 2014, 01:43:01 PM
#40
Disclaimer: I am in no way trying to convince anyone that minusbalancer should not get a reward. Actually, I think any effort in bringing a NXT client to the people is good!

It seems to me this is a JAVA to .NET port. Not sure if this was done manually or with a tool.

Example:

Java code:


static class BidOrder
    implements Comparable
  {
    final long id;
    final long height;
    final Nxt.Account account;
    final long asset;
    volatile int quantity;
    final long price;
    
    BidOrder(long paramLong1, Nxt.Account paramAccount, long paramLong2, int paramInt, long paramLong3)
    {
      this.id = paramLong1;
      this.height = Nxt.Block.getLastBlock().height;
      this.account = paramAccount;
      this.asset = paramLong2;
      this.quantity = paramInt;
      this.price = paramLong3;
    }
    
    public int compareTo(BidOrder paramBidOrder)
    {
      if (this.price > paramBidOrder.price) {
        return -1;
      }
      if (this.price < paramBidOrder.price) {
        return 1;
      }
      if (this.height < paramBidOrder.height) {
        return -1;
      }
      if (this.height > paramBidOrder.height) {
        return 1;
      }
      if (this.id < paramBidOrder.id) {
        return -1;
      }
      if (this.id > paramBidOrder.id) {
        return 1;
      }
      return 0;
    }
  }


Net code:

namespace NXT.Core
{
  public class BidOrder : IComparable
  {
    public long id;
    public long height;
    public Account account;
    public long asset;
    public int quantity;
    public long price;

    public BidOrder(long paramLong1, Account paramAccount, long paramLong2, int paramInt, long paramLong3)
    {
      this.id = paramLong1;
      this.height = (long) Block.getLastBlock().height;
      this.account = paramAccount;
      this.asset = paramLong2;
      this.quantity = paramInt;
      this.price = paramLong3;
    }

    public int CompareTo(object obj)
    {
      BidOrder bidOrder = obj as BidOrder;
      if (bidOrder == null || this.price > bidOrder.price)
        return -1;
      if (this.price < bidOrder.price)
        return 1;
      if (this.height < bidOrder.height)
        return -1;
      if (this.height > bidOrder.height)
        return 1;
      if (this.id < bidOrder.id)
        return -1;
      return this.id > bidOrder.id ? 1 : 0;
    }
  }
}




Maybe minusbalancer can shed some light into his what it is, does and how he created it. :-)
full member
Activity: 224
Merit: 100
January 15, 2014, 01:35:02 PM
#39
How exactly were you able to remove java from the equation completely? That must be some monster code?

I was wondering the same and took a look.

ha I didn't even see there was sample code!
Will look at it now too.. exciting!

EDIT: this is not code but the build only. Any links to the code?

Relax. I was just asking.

You can decompile a bit with http://www.jetbrains.com/decompiler/ .

I'm not into .NET, but there is a valid amount of code in there. :-)
member
Activity: 111
Merit: 10
January 15, 2014, 01:25:37 PM
#38
How exactly were you able to remove java from the equation completely? That must be some monster code?

I was wondering the same and took a look.

ha I didn't even see there was sample code!
Will look at it now too.. exciting!

EDIT: this is not code but the build only. Any links to the code?
full member
Activity: 224
Merit: 100
January 15, 2014, 01:23:53 PM
#37
How exactly were you able to remove java from the equation completely? That must be some monster code?

I was wondering the same and took a look. There is a 96KB NXT.Core.dll and I can believe that this is a NXT core implementation in .NET.

Are you doing HTTP API requests to a server in the network?
sr. member
Activity: 308
Merit: 250
January 15, 2014, 01:18:04 PM
#36
How exactly were you able to remove java from the equation completely? That must be some monster code?
member
Activity: 111
Merit: 10
January 15, 2014, 01:02:12 PM
#35
I would like to withdraw my little project for a windows client.
 
There are a couple of reasons for it. The main one is we need a windows client which will not require to install jetty and the java client. It will work better in a windows environment if it was native .NET client and my little app will rely on the NRS java client to work properly which just adds another unnecessary application layer.

I think that we all should look at the code which minusbalancer will release and try work on it to improve it together. If I was to get bounty/reward for developing I would prefer to work on minusbalancers client.

I am very excited about minusbalancer app and looking forward for it.


legendary
Activity: 1181
Merit: 1018
January 15, 2014, 12:02:05 PM
#34


Hi marcus03 - or any of you NXT client gurus -

I am trying to reconcile the two concepts of regular polling and specific singular user input.
I have an (extremely messy) PyQt4 client that can send queries to my raspi (or whatever node I enter).

To look at the account, I have some lineEdits for server location. account number passphrase, etc, when I enter the info there, I can shoot a single query and get eg the balance in the account back.

This seems 'single poll' to me. Most user input would be 'single poll' (eg sendMoney  Grin once only PLZ!), but also message, etc.

On the other hand, I may want to keep ALL the staus information about the system current. This is where I use 'continous poll'
In my client, I have hooked up a QTimer, that keeps polling the server in 1s intervals. This works nicely, and so far so good.

What I haven't figured out yet: WHICH of the api calls do you use to 'contPoll' the server?  Huh

I am using  'getState', which gives interesting info, but obviously, there is more relevant info to be had.

What are you guys using in your clients? Looking at the screens, there seems to be quite something.

 
Please drop me a few hints - I have listed all API calls I could find below from the wiki. Are any missing?

CHEERS!

1 getAccountId - secretPhrase
2 getAccountId - PublicKey
3 getUnconfirmedTransactionIds
4 getBalance
5 assignAlias
6 getAliasURI
7 getAliasIds
8 listAccountAliases
9 getBlock
10 issueAsset
11 getAssetIds
12 getAsset
13 transferAsset
14 placeBidOrder / placeAskOrder
15 getBidOrderIds / getAskOrderIds
16 getAskOrder / getBidOrder
17 cancelAskOrder / cancelBidOrder
18 getConstants
19 getMyInfo
20 getPeer
21 getPeers
22 getState
23 getTime
24 decodeHallmark
25 markHost
26 decodeToken
27 broadcastTransaction
28 getAccountTransactionIds
29 getTransaction
30 getTransactionBytes
31 sendMoney
-- undocumented in wiki
32 ? getGuaranteedBalance
33 ? sendMessage
 
member
Activity: 111
Merit: 10
January 15, 2014, 05:15:31 AM
#33
@minusbalancer did you write the java code into c sharp / VB / Java sharp code? Or you wrap the java code around with the .NET interface?
Are you going to have it open source?

It's pure .NET. No java underlying.
I will publish the source as soon as client will be stable enough to be forked

well done! I am looking forward to see the source code. The interface looks fantastic.
I guess we need testnet to test it fully if there is no underlying java and nxt (NRS) is coded in .NET
newbie
Activity: 56
Merit: 0
January 15, 2014, 04:52:40 AM
#32
@minusbalancer did you write the java code into c sharp / VB / Java sharp code? Or you wrap the java code around with the .NET interface?
Are you going to have it open source?

It's pure .NET. No java underlying.
I will publish the source as soon as client will be stable enough to be forked
member
Activity: 111
Merit: 10
January 15, 2014, 04:21:12 AM
#31
@minusbalancer did you write the java code into c sharp / VB / Java sharp code? Or you wrap the java code around with the .NET interface?
Are you going to have it open source?
full member
Activity: 155
Merit: 100
January 15, 2014, 03:16:52 AM
#30
all the client look great! so good job guys!!
however , i reckon we should be able to get some hand on experiences with the actual products before we can cast the vote.
some fancy screenshots are good, but quality is equally, if not more, important Smiley
legendary
Activity: 1512
Merit: 1004
January 14, 2014, 11:37:01 PM
#29
great minusbalancer, so fancy
newbie
Activity: 56
Merit: 0
January 14, 2014, 09:08:47 PM
#28
UPD: Messaging was implemented at dotNXT.

Here are some of the existent messages:
full member
Activity: 224
Merit: 100
January 14, 2014, 06:02:02 PM
#27
Arbitrary messaging implemented for v1.3:

full member
Activity: 224
Merit: 100
January 14, 2014, 03:09:28 PM
#26
Here are some screenshots showing the current status of my "NXT Solaris" client for Windows.

This is just great! Will run on a VM. Would it work on both Win 7 and 8?

I've only tested it on XP and 7, but I'm optimistic that it runs on Windows 8, too.
newbie
Activity: 53
Merit: 0
January 14, 2014, 03:07:24 PM
#25
Here are some screenshots showing the current status of my "NXT Solaris" client for Windows.

This is just great! Will run on a VM. Would it work on both Win 7 and 8?
hero member
Activity: 910
Merit: 1000
January 14, 2014, 01:09:49 PM
#24
We need a good Mac Client. Nexern's client is cross compatible, right? I hope it works good on a Mac.
Wesleyh's is pure Mac but very close to the original java 'software'. Maybe he works on a 'standalone' app?
Pages:
Jump to: