Follow @nxtchg

Author Topic: Simcoin Progress Reports  (Read 3173 times)

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Simcoin Progress Reports
« on: January 25, 2015, 03:33:22 pm »
+1
Progress report
(Jan 25, 2015)

This week I was working on refactoring the vault and on command-based interface for it (+ wiki spec).

The vault is an important part, so it requires a lot of thinking and ideally should have been a stand-alone project, yet I am developing it just as an optional feature of Simcoin...

Also added the auto-repair capability to the vault, in case the file gets corrupted. Updated the old repair algorithm description in the wiki.

--

Checked a few JSON libraries for C/C++, didn't like any of them for the simple task I need: passing commands to/from JS to limit the number of wrapper API functions. Will probably write something simple myself.

--

Spent one day setting up our own forum, which will be shared with CryptoPlay
Tentacle Overlord, The Deranged Genius of The Abyss

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #1 on: February 01, 2015, 12:27:41 pm »
+1
Progress report
(Feb 01, 2015)

This week I continued working on refactoring the vault and on command-based interface for it.

Also added the third core mode – "neutral" – in which the core only serves as a passive library and provides useful services to third-party applications.

Added a bunch of generic/crypto functions. For example, any app can generate public/private keys from a text passphrase by sending this simple command:



It will also return the address of the account, which corresponds to this passphrase. Very clean and simple.

--
 
Created Vault Maker GUI tool:



More info here: https://simtalk.org:444/index.php?topic=29.0

--

Switched SQLite to use delayed DLL loading because in the neutral mode not every app wants to include 400 Kb DLL if it's never used.

--

qhoster finally restored my lost VPS (and only after just one month ::)), so I was able to copy old data and restore SimExplorer and wiki.
Tentacle Overlord, The Deranged Genius of The Abyss

eXtatiC

  • Minion
  • *
  • Posts: 15
  • Respect: 0
    • View Profile
Re: Simcoin Progress Reports
« Reply #2 on: February 04, 2015, 04:28:21 pm »
0
NxtChg, can we have an updated roadmap for the development/release of Simcoin? Thank you!

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #3 on: February 04, 2015, 06:49:20 pm »
0
NxtChg, can we have an updated roadmap for the development/release of Simcoin? Thank you!

Yes, I plan to do it as soon as migration to the commands interface is finished.

It takes a lot of time, because this interface will be public and the basis for all other applications built around Simcoin!

You can imagine the pressure not to screw up big time here :)
Tentacle Overlord, The Deranged Genius of The Abyss

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #4 on: February 08, 2015, 05:42:49 pm »
+1
Progress report
(Feb 08, 2015)

This was a relatively slow week, plus I worked on many small things, which are hardly worth mentioning, like splitting the ledger into several sub-tasks because it became too big, or the "task died" event to help with task synchronization...

But anyway, this project is not a sprint, it's a marathon, so steady progress is what matters.

Tentacle Overlord, The Deranged Genius of The Abyss

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #5 on: February 15, 2015, 04:15:59 pm »
+1
Progress report
(Feb 15, 2015)

Good progress this week, but mostly on small things, which hardly seem worth mentioning.

Here's about 2 days worth of to-do items, to give you an example. Not sure if anybody reads these, but anyway :)

+ Split SQLite into 2 classes to make setting exposed API and some additional checks more clean.
+ Comm keys stuff moved into its own independent sub-task.
+ self.accounts, set from the ledger check task.
+ Realized that there will probably be some modified versions of nodes running, so added a "branch" field into both Pong response and status. It will also help to distinguish bugs between platforms (Windows/Linux, etc.). Wiki updated.
+ task_died.is() to compare by name.
+ Added "update keys" command.
+ Added confirmation support into node's console.
+ Beep on console.confirm(). Also tested flashing the window - not good.
+ Nasty bug found and fixed: starting tasks inside incoming() or outgoing() sometimes caused indexes to shift, so had to rewrite the whole event dispatcher loop to allow this.
+ Writing some draft code for task subscription for commands...
+ Finalized how the vault records are enumerated via commands.
+ Reject vault passwords shorter than 6 chars on nodes.
+ Added "status" command to get a bunch of aggregate info about the core.
+ Rewriting and simplifying T_Startup to manage _all_ the tasks startup sequence in one place.
+ BUG FIXED: didn't catch if there's no keys in the vault in T_LedgerComms.
+ Improved SimExplorer a bit and added public keys display. Took some time to figure out how to do it because of SQLite's stupidity.
+ Removed sim.out_packet and sim.out_raw_packet - they are almost always "out". Only Net and Triage send them as "in" and they can do it manually.
+ Consistency changes:
    + "cfg" => "cfg / set cfg"
    + "vault pass" => "set vault pass"
    + "vault info" => "get vault info / vault info"
    + "vault data" => "vault data / set vault data"
+ New vaults for all test nodes generated (the stretching algorithm changed).
+ "cfg loaded" event.
+ Set node name from INI by Supervisor on "cfg loaded". Enforce allowed characters only.
+ Moved "time" and "ts_adjust" into status. Renamed to "net_time" and "time_diff". Fill net_time by Supervisor from self.time() for "status" command. Wiki updated.
+ Replace "type" and "reason" with arrays in sim_cmd.
    + Also use cmd_type() instead of "type" to allow "type" to be used by other commands, like sim_packet and sim_vault_data.
+ Unicon switched from node indexes to account ID's to help with decoupling.

Also started drawing a startup diagram, because things are getting a bit complicated:



The good news is: the end of the refactoring is in sight. I won't give you any time estimates because when you refactor, you constantly get new ideas about how the code should be written and organized, and that's hard to predict, but at least most of it is finished.
Tentacle Overlord, The Deranged Genius of The Abyss

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #6 on: February 22, 2015, 03:15:37 pm »
0
Progress report
(Feb 22, 2015)

Not much progress this week because I had to take 3 days off and deal with some real life stuff.

Normally I work every single day without weekends or holidays, but unfortunately sometimes you have to do other things too :(
Tentacle Overlord, The Deranged Genius of The Abyss

grandpa_seth

  • Minion
  • *
  • Posts: 48
  • Respect: +7
    • View Profile
Re: Simcoin Progress Reports
« Reply #7 on: February 22, 2015, 03:37:59 pm »
0
We forgive you for being human.

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #8 on: February 22, 2015, 03:56:37 pm »
0
We forgive you for being human.

Who said anything about being human? :)

Had to take my spaceship for a ride...
Tentacle Overlord, The Deranged Genius of The Abyss

grandpa_seth

  • Minion
  • *
  • Posts: 48
  • Respect: +7
    • View Profile
Re: Simcoin Progress Reports
« Reply #9 on: February 22, 2015, 11:58:17 pm »
0
We forgive you for being human.

Who said anything about being human? :)

Had to take my spaceship for a ride...

Why is it that I can picture that and it doesn't even make me laugh?

grandpa_seth

  • Minion
  • *
  • Posts: 48
  • Respect: +7
    • View Profile
Re: Simcoin Progress Reports
« Reply #10 on: February 23, 2015, 07:25:19 am »
0
Why is it that I can picture that and it doesn't even make me laugh?

Meaning it doesn't surprise me to picture you in a flying saucer, strange.

Btw, the Simcoin Progress Report is the only reliable thing in crypto to look forward to these days. Thanks for this.

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #11 on: March 01, 2015, 11:19:34 am »
+1
Progress report
(Mar 01, 2015)

Good progress this week, although refactoring is not yet finished, mostly because about half of the week I spent thinking and documenting stuff instead (passed 1K edits in the wiki: actually 1,150 already).

One thing I was working on, and am excited about, is a virtual machine (yes, Simcoin will have one). But don't worry it will be very simple, not Turing-complete, more like Bitcoin script, but of course simpler and more elegant.

It took me about 1.5 days to write a spec and most of the code for it and the compiler. We will be able to use it anywhere, where we need simple scripting, for example to define the rules for transaction fee calculation. Then all the clients can download these rules and use them to calculate the minimum fee required for each transaction.

When it comes to scripts, even a simplest language can usually give you a lot of flexibility. That's why I am so excited about it – how simple and yet powerful it is :)
Tentacle Overlord, The Deranged Genius of The Abyss

NxtChg

  • Overlord
  • *****
  • Posts: 1114
  • Respect: +61
    • View Profile
Re: Simcoin Progress Reports
« Reply #12 on: March 08, 2015, 05:54:30 pm »
+1
Progress report
(Mar 08, 2015)

Lost two days this week when my new HDD died :(

It survived for just 8 months. And what's most annoying is that it was a red WD drive, which is supposed to be more reliable and tolerate heat better. Damn marketing liars! Probably the only thing different about it is the red sticker.

Luckily, it died in the exact same way as my previous one – started malfunctioning after heating up. So I was able to cool it down and copy all the data within one hour. And then realigned partitions for 15 more! Thanks, Paragon Software, for being so lame...

Still, managed to get some work done: continued working on VM/compiler, plus figured out how to organize accounts in such a way that reorg could be done incrementally instead of the simplistic "flush/rebuild".

And also figured out how to efficiently locate fracture points, so now only a few transactions need to be re-downloaded in case of the reorg.

These two are significant advances, so I am happy with the overall progress this week.
Tentacle Overlord, The Deranged Genius of The Abyss

gs02xzz

  • Jr. Minion
  • **
  • Posts: 82
  • Respect: +5
    • View Profile
Re: Simcoin Progress Reports
« Reply #13 on: March 09, 2015, 05:24:26 pm »
0
Thanks for the update.

dzarmush

  • Jr. Minion
  • **
  • Posts: 89
  • Respect: +8
    • View Profile
Re: Simcoin Progress Reports
« Reply #14 on: March 12, 2015, 08:15:32 pm »
0
Looks like we're about to see the launch in a few months. Good to know that things keep rolling here.