Update

Previous Updates
-----------------------------------
ORIGINAL PLEDGES START
-----------------------------------
-DEVELOPMENT

--Develop enterprise grade JavaScript library

-MARKETING

--Create educational content, made available on a website/blog or Youtube
----Transactions in details (structures, two-token system, RCD…)
----Chains and entries in detail
----The fundamental Blocks in detail (Directory, Admin, Factoid, Entry Credit, Entry blocks)
----Application design on Factom (good practices, design of reference, hash and signatures…)

-TESTNET

--One Testnet node

--Continue the work on the monitoring working group

--Developing an advanced load generator for the Testnet

-OTHER

--Publish monthly updates of activities on a blog hosted on luciap.ca

- PLEDGED EFFICIENCY

2 nodes: 50%
1 node: 50%
-----------------------------------
ORIGINAL PLEDGES END
-----------------------------------
-----------------------------------
Relevant links:
- Forum Q+A
- Aggregated pledges
- Application
- Supporting documents
-----------------------------------
-----------------------------------
[Update on initial pledges as of October 8th from this previous thread: https://factomize.com/forums/threads/luciap-campaign-pledge-discussion.878/]

-DEVELOPMENT

--Develop enterprise grade JavaScript library

As of today factom.js is in version 0.3.6 and already cover all the functionalities expected to interact with Factom blockchain and wallet. You can see from the commit history that we have been continuously working on it since that pledge, improving, fixing bug and taking feedbacks into account. I would say they are a dozen of projects, private or public, that are currently using it. The library has a good amount of test coverage, the only missing thing to get the "enterprise grade" title I believe is a better documentation that the current README. We also have a bunch of improvement ideas to make it even more awesome but those are non critical and not covered by this pledge.

-MARKETING

--Create educational content, made available on a website/blog or Youtube
----Transactions in details (structures, two-token system, RCD…)
----Chains and entries in detail
----The fundamental Blocks in detail (Directory, Admin, Factoid, Entry Credit, Entry blocks)
----Application design on Factom (good practices, design of reference, hash and signatures…)

As of today there is no technical educational content produced by us and so this pledge is not met yet. @Luapjust joined the recently revived "Documentation Committee" which will have the goal to produce content for developers. This is our opportunity do fulfill that pledge. We have a bunch of notes prepared to write articles.

-TESTNET

--One Testnet node
We actually have 2 permanent testnet nodes, once of which is in the authority set. https://fct.tools/

--Continue the work on the monitoring working group
Monitoring working group is pretty much dead (as all testnet working group). But to "compensate" @Luap joined the much more important "Core and code deploy" committee and is an active contributor of it.

--Developing an advanced load generator for the Testnet

As of now there are 3 different tools to generate load on the testnet: Factom Inc QA tool, Matt Wellington tool and Adam Levy tool. Adding one more would make no sense. There has been few discussions on how to harmonize this situation but it seems this issue is low priority and fell off the radar. If we agree on building a common load generator tool we'd be happy to contribute.

-OTHER

--Publish monthly updates of activities on a blog hosted on luciap.ca

The monthly updates are available at https://blog.luciap.ca/

- PLEDGED EFFICIENCY

You can see that the efficiencies of both nodes as always been 50% and never been modified:https://luciap.ca/#/authority-set
You can also notice that not a single FCT has been moved from the coinbase addresses.


-------------------------------------

I'd also like to point out that we have been doing work for the protocol outside of those pledges. One notable is the factom-identity-cli (and the underlying lib) that allows ANOs to set their efficiency and coinbase address and also emit coinbase cancel messages. Working on this off loaded some work from Factom Inc. We also attempted so PR to factomd repository. We are also developing the on-chain voting protocol and implementation (even if it's remunerated by a grant I hope it demonstrate our involvement to the protocol).
I'm pleased to announce the completion of the pledge "develop an enterprise grade Factom JavaScript library" with the release of the version 1.0 of factom.js: https://github.com/PaulBernier/factomjs
The library has now been battle tested in over a dozen projects, it has been fully documented (online version of the doc available at https://factomjs.luciap.ca/), and here's the test coverage:

Code:
----------------|----------|----------|----------|----------|
File            |  % Stmts | % Branch |  % Funcs |  % Lines |
----------------|----------|----------|----------|----------|
All files       |     95.2 |    85.06 |     99.2 |    95.01 |
A library development is never really "over" and I'll keep supporting it, fixing bug etc. Also have some ideas of extended functionalities that I may implement over time.
We just released a new version 1.1 of factom.js. I didn't expect that to happen so quickly after v1 but we had 2 new neat features lined up:
  • A new Factom blockchain event emitter. This is a great addition made by @Alex which simplifies a lot writing applications that react to on-chain events.
  • A proper support for chain and entry EC signature delegation. This is useful to allow external devices storing your EC keys to pay for the entry. Think hardware wallet integration or... IOT device integration ;)

https://github.com/PaulBernier/factomjs/releases/tag/v1.1
Presenting ChockaBlock, a load testing tool tailored for the Factom Community Testnet: https://chockablock.luciap.ca/
This tool, built in-house at Luciap Technology, was used over the last two days to perform one of the first real stress test of the Testnet yielding several valuable observations for core developers to investigate and act upon (we wrote a report for the core and code deploy committee based on this data).

Why ChockaBlock? It is filling a gap we currently had in our factomd release process with no well defined step of how to test performance in a consistent way on the community Testnet. This will help standardize the process, and offer results that can be compared across different runs (comparing different versions or set ups). Ultimately that should give us better guarantees that new versions are ready for mainnet deployment (avoiding potential downtime in prod) and verify any potential performance regression.

This is an early version we rushed to finish in time for this week stress test. We have many improvements in the pipeline and ultimately it could be extended to become a complete factomd release management tool for the Testnet.

-------------------------------------------------------------------------------------------

Luciap Technology will lower its efficiency from 50% to 40%. Here are some points of our reasoning for that change:
Hello everyone,

I just realized that we have fallen in the 90+ days without update category and I am going to address that now. The reason is that we were actually pretty busy on various projects and we kind of lost track of time...

PegNet

PegNet is the main project we have been working on during those 3 months. Here's a summary of our involvement:
  • We were invited by Paul Snow to get involved since the very early days of the project. We alluded about a "secret technical project" back in our Q1 update, that was it.
  • Due to our early involvement we have been entrusted as Discord admin for the project and have been setting up the general structure of it and helped manage it.
  • We have reviewed a lot of Pull Requests for the project. This is actually the most time consuming tasks.
  • We have been participating in a lot of technical design discussions.
  • Participated in task grooming meetings.
  • We have been testing/reviewing the code and reported some critical bugs along the way.
Those are tasks contributed to the open source project PegNet. On top of that we have also been working hard on a private project related to PegNet and that should ultimately complete the PegNet ecosystem in an important way.

Other

  • We released a bunch of 1.2.x updates of factom.js. An notable one is the addition of a basic support for cookies allowing affinity session when using Open Node endpoint.
  • There was an important upgrade in terms of UX of the factom-identity-cli (v0.3) back in July.
  • We have been continuing to organize and manage load tests on the Factom testnet using ChockaBlock and will do so again soon to test the next release Xuan.
  • We reviewed the Smart Contract proof of concept made by DBGrow during Summer and provided feedback. Note that we were not part of that grant and did so on our spare time.
  • Since the our last update there was also some work done on the FAT Wallet grant during July. This was mostly work on adding Ledger support. There hasn't been much work on it in August and September as we are awaiting the v1 of fatd (FAT daemon) and a new firmware for Ledger to complete our grant.
Hello everyone,

I am really glad to announce this project towards the PegNet we have been working on for months! (solely funded by our ANO revenue) I am copy pasting here our public announcement if you are interested in learning more about it. I'd be glad to answer any question you may have :)

We are happy to announce the public launch of our PegNet mining pool: https://www.oraxpool.com
We have been running privately for more than 2 months and distributed over 10 millions PEG to our miners.
We focused on making the user experience very simple, follow our quickstart guide <https://docs.oraxpool.com/getting-started/quickstart-guide> (or check the video version of it
)
and you will be mining on PegNet within just a few minutes. Have a quick read at our FAQ to know why you should consider mining with Orax: <https://docs.oraxpool.com/getting-started/faq>

Whether you want to mine or you are just curious you are invited to join our happy little community on Discord: https://discord.gg/ZxF9ydP

Happy mining everyone!
  • We launched the LuXoR project: a public database of LXR Hash performance accross various machines and architectures. I still keep up to date the database when new submissions come in.
  • We launched a PegNet mining reward calculator available to all.
  • I investigated and uncovered some bug in PegNet mining. This was actually related to an (unplanned) hard fork that happened few days later after this report which I helped investigate and mitigate live with Steven (stressful night!).
  • Did the code review for the important "free floating PEG price" hard fork. Also performed some testing of that fork prior to its activation (which is something we always do because of Orax).
  • Thanks to the monitoring put on place within Orax, we were also able to detect some anomalies on the Factom network (entries being pushed back to the next block because of EOM messages coming too early) which we brought up to Core committee where we worked out some mitigation.
  • Regular ANO obligations, server maintenance and governance participation, were performed.

While not an ANO contribution there was also the completion and release of the FAT Wallet (grant funded) that took a lot of my time during Q4.
Hi everyone,

Please find below a list of Luciap activities during the first quarter of 2020:

1. Review of Who (Factomize) complete rewrite of p2p module of factomd

I mentioned in the past that we were doing code reviews, but I realize that non-programmer may not fully realize the extend of that task. For a good review the reviewer needs to read all the code and understand every bits of it as much as if he wrote the code himself; then comment on many aspects of the code: general design, readability, understandability, potential bugs or optimization ideas etc. This is why code reviews are excellent at finding bugs, augmenting code readability and maintenability over time. Which is also why it takes much more time that people probably expect, and I just wanted to take the time to highlight that for once. This review was particularly long because it was an entire module, but it was very pleasant discussing and working through it with @Who. Here's the full list of my beedback:
  1. https://github.com/WhoSoup/factom-p2p/issues/3
  2. https://github.com/WhoSoup/factom-p2p/issues/4
  3. https://github.com/WhoSoup/factom-p2p/issues/5
  4. https://github.com/WhoSoup/factom-p2p/issues/6
  5. https://github.com/WhoSoup/factom-p2p/issues/7
  6. https://github.com/WhoSoup/factom-p2p/issues/8
  7. https://github.com/WhoSoup/factom-p2p/issues/9
  8. https://github.com/WhoSoup/factom-p2p/pull/10
  9. https://github.com/WhoSoup/factom-p2p/pull/14
  10. https://github.com/WhoSoup/factom-p2p/issues/15
  11. https://github.com/WhoSoup/factom-p2p/issues/16
  12. https://github.com/WhoSoup/factom-p2p/issues/17
  13. https://github.com/WhoSoup/factom-p2p/issues/18
  14. https://github.com/WhoSoup/factom-p2p/issues/19
  15. https://github.com/WhoSoup/factom-p2p/issues/20
  16. https://github.com/WhoSoup/factom-p2p/issues/22
  17. https://github.com/WhoSoup/factom-p2p/pull/23 (comments)
  18. https://github.com/WhoSoup/factom-p2p/issues/24
  19. https://github.com/WhoSoup/factom-p2p/pull/27
  20. https://github.com/WhoSoup/factom-p2p/issues/28
  21. https://github.com/WhoSoup/factom-p2p/issues/30
  22. https://github.com/WhoSoup/factom-p2p/issues/31
  23. https://github.com/WhoSoup/factom-p2p/pull/32
  24. https://github.com/WhoSoup/factom-p2p/issues/33
  25. https://github.com/WhoSoup/factom-p2p/pull/39 (comments)
  26. https://github.com/WhoSoup/factom-p2p/pull/41 (comments)
2. PegNet core contributions

I reviewed PegNet code and reported 2 bugs: https://github.com/pegnet/pegnet/issues/352 and https://github.com/pegnet/pegnet/issues/353 (and fixed one of them). I was also the only one taking the time to review an external contributor work here: https://github.com/pegnet/LXRHash/pull/71.

3. Published a new minor version of the FAT Wallet

@David Kuiper brought to my attention that the FAT Wallet had a different key derivation scheme than MyFactomWallet when interacting with the Ledger device. While not fundamentally an issue for FAT Wallet users, it was still unfortunate and I agreed that having compatibility between our ecosystem tools (MFW and FAT Wallet) was important. I published a new version of the FAT Wallet that can produce compatible keys and that has already helped 2 users who can't use MFW on Windows. Note that we do not have any "FAT continuation grant" on-going and that work was happily done on ANO income. https://github.com/Factom-Asset-Tokens/wallet..

4. factom.js updates

@Alex submitted some good improvements to some features of factom.js (FactomEventEmitter). I reviewed, merged and published those changes.
I also edited the lib to support continuous testing of the testnet: https://github.com/PaulBernier/factomjs/issues/14

5. Participation in the core committee

I remain an active member of the core committee.

6. Orax

We continue to operate and maintain Orax (at a loss), the biggest public PegNet mining pool with over 120 active users.
Current Update: Update
Hi everyone,

A short update on what we are up to.
  • During last quarter we announced the raise of efficiency to 50% which effectively translated to a less active involvement in the Factom ecosystem. We have also moved at this occasion to a single server in the authority set (so 1 server at 0%).
  • Participated in some technical discussions and reviews, such as this new feature for factom.js submitted by Bedrock.
  • Lately my activity is mostly in the Core Committee (non public Discord channel). In particular, following the issue with the restart system that happened a few weeks ago, I worked out a plan in 5 points to make it less reliant on Factom Inc. This takes time though as all points require active involvement of Factom Inc which is currently severely constrained in terms of resources. One success I was able to get last week though is that Who and myself got write access to Factom repositories (factomd, walletd, factom-cli). That means at least we have non-Factom Inc people able to manage pull requests, create branches and make commit directly. It's a small step and hopefully we can move forward similarly on the other points.
Thank you.
 
Top