Worldcoin Business Center - Joint project?
-
@lizhi said:
Hi Mario Blacutt , I see your point.Thank you for your advice. We’ll consider your proposal.
Now, our development is still based on bitcoin.Thanks for your response. Let me know when you decide something.
-
This post is deleted! -
Sounds inteeresting. We will look into it.
Without knowing your code, I already have some questions.
- Did you write your new code from scratch?
- Did you fork some BTC/LTC code?
- if Yes, which version?
- how flexible is your code?
- can it adapt to uncommon behavior of a blockchain?
- We changed mean time to block from 2.5 mins to 1 min
- We changed the number of coins mined per block from 200 to 80
- We changed our Algorithm form Scrypt to Neoscrypt.
- all of the above requires special coding
- can it adapt to uncommon behavior of a blockchain?
- can you provide a link to your latest code base?
- saves some searching ;)
-
@Wellenreiter said:
Sounds inteeresting. We will look into it.
Without knowing your code, I already have some questions.
- Did you write your new code from scratch?
- Did you fork some BTC/LTC code?
- if Yes, which version?
- how flexible is your code?
- can it adapt to uncommon behavior of a blockchain?
- We changed mean time to block from 2.5 mins to 1 min
- We changed the number of coins mined per block from 200 to 80
- We changed our Algorithm form Scrypt to Neoscrypt.
- all of the above requires special coding
- can it adapt to uncommon behavior of a blockchain?
- can you provide a link to your latest code base?
- saves some searching ;)
Thank you for your interest!
My answer below will cover all questions (hopefully):- The Business Center (WBC) is written in c++ (Qt) from scratch not a single line leeched from anywhere.
WBC translates requests from UI (users) to RPC API calls to the standard already developed and more stable daemon (another executable) and also to external services (like price in USD for example) . This means that the daemon is already written. In other words Business Center acts as a thick layer of abstraction between a daemon and the user. The idea is that users can make easily their own modules and components using this level of abstraction which is a lot easier to develop … no c++, everything is scripted, no risk of fucking up with core crypto functions, no need to understand how underlaying crypto works just common sense. In this way core functions (daemons) can progress a lot more slowly (because they need a lot more QA and testing) but WBC progress a lot faster with the ability to integrate many services and functions. As i put in my blog, it is very easy that each user/company scratches their own itches without depending on core developers.
Each daemon is implemented using 2 objects:
- A c++ plugin. Which detail some particularities of the the specified daemon and acts as the bridge between WBC and the executable
- A dictionary text file which lists specific RPC API calls for that daemon with their expected results which WBC would parse
In other words you don’t have to scrap all your code, just the current Qt part and develop the plugin for WBC to connect to it, also WBC is completely themable so you can use your branding as you please.
If you have some minutes to spare it would be very useful if you can download the wallet and read the blog which it is referred in my first post to understand what we consider one of our killer features.
Repo of WBC: https://github.com/WorldcoinGlobal/WorldcoinPanel (Build system is QBS not qmake because Qt guys said that they wont evolve it anymore, edit main .qbs file and change paths accordingly). It is tested with Linux and VS 2013 both 64 bits
Repo of WDC daemon: https://github.com/WorldcoinGlobal/WorldcoinDaemonSpeaking about rebasing (0.10.2) we can’t decide on two items so i wanted to consult you guys how you are dealing with them :
a] For future BTC rebasing (0.1x.x) how are you dealing with ACS (Advanced Checkpoint System)will you keep it? risks?
b] Do you consider that enforcing protocol v2 a good idea if you don’t have any idea if most nodes will upgrade?We are not pushing our rebasing project because we want to maintain 100% compatibility with previous Qt wallet for some months at least. As it is a big change it will take longer for people to adopt than normal releases.
-
My answer below will cover all questions (hopefully):
- The Business Center (WBC) is written in c++ (Qt) from scratch not a single line leeched from anywhere.
WBC translates requests from UI (users) to RPC API calls to the standard already developed and more stable daemon (another executable) and also to external services (like price in USD for example) . This means that the daemon is already written. In other words Business Center acts as a thick layer of abstraction between a daemon and the user.
Thank for the fast answer.
Actually I was thinking along the same line.
Why having a GUI and a daemon in parallel instead of using the Daemon for all block chain related tasks and use RPC calls to the daemon for the GUI?It would be easy to develop a web based wallet GUI for mobile devices using a central instance of the daemon, so mobiles do not need to maintain the full BC
- The Business Center (WBC) is written in c++ (Qt) from scratch not a single line leeched from anywhere.
-
@Wellenreiter
Exactly! But our implementation is done in C++, Qt and QML (which uses a lot of Javascript) instead of html 5. Because i consider component reuse more clean and QML implementation of reusable objects is superb!, also in my tests it is faster.
Of course in the future our idea is to adapt backbone to other devices and only change the UI. One code many UI’s according to the form factor. -
If I get it right, it’s a GUI wrapper which makes RPC calls to a daemon. The current GUI doesn’t need RPC. It’s integrated into the core.
FTC is already v2 enforced since v0.8.7.
-
@ghostlander said:
If I get it right, it’s a GUI wrapper which makes RPC calls to a daemon. The current GUI doesn’t need RPC. It’s integrated into the core.
FTC is already v2 enforced since v0.8.7.
Sadly no, you don’t get it right. WBC is a whole framework that enables a user to develop a wide range of non compiled applications inside the wallet, extremely easy to develop that hides completely the internals of crypto from the developer. Actually, decoupling the core from UI is considered a good practice on every language available, this is a very useful feature because it allows two completely different development cycles for two completely different kinds of products:
a] The daemon: slow development cycle, needs a lot of QA, certain knowledge of crypto internals, c++ and so on
b] WBC: very fast development cylce, needs standard QA time, requieres no knowledge of crypto internals, extremely fast deployment and some other features. UI development is just a side product of the whole framework and certainly not the most important, but it allows designers to directly contribute to the development cycle without knowing anything about programming.I will have to ask to excuse my bad English again because probably i am not being too clear in some points.
Also I was asking for advice on enforcing v2 protocol because obviously you guys already have experience with it, and considering our situation (we don’t have any idea on what percentage of people will upgrade), i thought it was a good idea to ask for advice just in case.
I also would like to ask kindly , please download the wallet and read the blog so you guys can have a more informed opinion. If you think “It’s crap and we don’t need that useless sh**” i can live with that AFTER you understand what i am talking about. Also the blog just talks about ONE feature of the framework, there are other features important too, but at least it will give a clearer idea of what our objectives are with WBC.
-
@Berzeck That’s what it is. You may call it a framework if you like, however the functionality is limited by the RPC interface. The core GUI may do much more if necessary. The RPC data exchange is also a subject of JSON overhead, though it doesn’t matter much I suppose. Can you run it over RPC-SSL? Could be useful for remote wallet access.
-
@ghostlander said:
@Berzeck That’s what it is. You may call it a framework if you like, however the functionality is limited by the RPC interface. The core GUI may do much more if necessary. The RPC data exchange is also a subject of JSON overhead, though it doesn’t matter much I suppose. Can you run it over RPC-SSL? Could be useful for remote wallet access.
The functionality of WBC is not limited to RPC interface because you could, for example, make a whole video game inside the wallet, i am sure that FTC’s RPC API can’t do that; also you can build NON UI components so you couldn’t call it a GUI wrapper by definition. Price extractor is a small example of a non ui object built using the framework, so the price becomes a standard variable object you can use for your own components without the need to know where or how it is defined ( RPC mechanism? Internet? ), long term we will implement a lot of useful objects like more complex statistical variables for trade analysis, or simple ones like reward projection and others.
We haven’t implemented RPC-SSL for remote control yet, shouldn’t be complicated and will probably do in the future when and if users start asking for that :), it would be interesting if we could promote this for exchanges as a ‘remote daemon controller’, we will see. Thanks for the idea.
JSON overhead do not represent a fraction of a percentage point of total processing required by a full node, also i didn’t see anything in the current Qt wallet that can not be implemented by ‘outsider’ code. Care to detail a little?
-
@Berzeck I don’t know what we can get.
-
@lizhi Did you download the wallet and read the blog post?