Home

#Jtime (31 Oktober)

 

J is a lead developer at Blockchain Foundry which is persuing different ways of bringing value to any kind of business sector out there by using the Syscoin blockchain.

Due to the limitations of Slack, the AMA's will be stored here for further reference and reading.

J [9:04 PM]
*Welcome* to the death that is life, the omega sanction that we all try to outrace and inevitably fail!! In the meantime though I am back with another bit of time spent to give the community some updates

redrace [9:05 PM]
:100:

J [9:05 PM]
1) We are currently looking at a BMD 3.2 release sometime next week. Not sure when - it will need to pass testing, and @q and I need to revisit past sins committed with sqlite beforehand
However, I have seen the face of the new BMD console and possibly looked upon the face of an angel while doing so. It's pretty cool.
2) Believe it or not...

redrace [9:06 PM]
Can't wait (edited)

J [9:06 PM]
there *is* going to be a BMD 3.3

redrace [9:06 PM]
Sneak peak?
BMD 3.3 tum tum tum

J [9:07 PM]
I can probably get a screen shot here later @redrace
re: console

redrace [9:07 PM]
That would be awesome!
I'm stoked
We will have a group of people actively placing listings the coming week
Would be cool if could use the new interface to check them out

J [9:08 PM]
BMD 3.3 is a release that alters - *slightly* - the way assets work. As many of you know the core allows for assets to be attached to addresses instead of aliases,
while BMD is locked to aliases

redrace [9:08 PM]
That's a nice addition

J [9:08 PM]
In BMD 3.3 this (and the corresponding screens) will change to be address-focused vs. alias focused. This will also help to relieve issues where people sign up to get an airdrop but then suddenly have to spend SYS to get an alias to be eligible for said airdrop

J [9:10 PM]
The analogy the BMD team discussed was "Imagine someone gives me a Transformer as a Christmas gift, and suddenly the police break down my door before I can open it and say "wait a minute, that'll be 5 dollars"" (edited)

J [9:10 PM]
So this paves the way towards some ease of use scenarios aaaand maybe provides some clues as to where we are heading in the future at a core level re: assets

redrace [9:11 PM]
:grin:
Assets on Syscoin adresses is like Erc20 coins on eth
But without smart-contract capabilities ofcourse
Programmable asset contracts from BMD console?

J [9:13 PM]
Ha that would be interesting

redrace [9:14 PM]
How do you feel about the community devs giving input on how the category stuff works now?

J [9:14 PM]
Oh man, it is so welcome

redrace [9:14 PM]
I was super stoked when that moment occured

J [9:15 PM]
Yes me too. Having real development discussion with the community is a big milestone

redrace [9:16 PM]
Would be awesome to take it to the next level through monthly video calls or so

J [9:16 PM]
I'm looking forward to participating in one of those actually.

redrace [9:16 PM]
Would drive forward new devs as well imo
Lower the barrier of entry
Also for community --> core

J [9:17 PM]
We're doing an internal BCF zoom on Friday to discuss syscoin-js/syscoin-api-server/BMD/whatever from a code perspective, I'd be happy to go through the first two (since they're going to be OS'd) with the community

redrace [9:17 PM]
That would be totally awesome!

J [9:18 PM]
Yes, just to reaffirm, post BMD 3.2 release I'll make sure that it's explicit contribs are welcome at least in the repos I'm chaperoning and will submit a PR to Romanian Rock God + @sidhujag with some READMEs about contributing

redrace [9:18 PM]
Hell yeah!
How are the docs looking for Syscoin.js?

Stukov [9:18 PM]
so at this moment SYS3 is not capable of smart contracts. Will those be available in SYS4 ? I frequently get the question “what can do sys more than Ethereum ?” when I shill sys platform.
I loose in arguments against any technical guys that work since forever on ethereum platfom
they even told me is is obvious ethereum is better because all the coders are there and have such long history already. SO any counter arguments I can use against that ? (edited)

J [9:22 PM]
So for the first question: I defer to @sidhujag here on what's in SYS4 and when we're ready to discuss some of those details, just because I'm aware of our previous history with roadmapping. (And yes, I'm aware that this prrrrobably answers your question anyway :wink: ) (edited)
As for the coders, for sure Eth has a much larger community + ecosystem of developers at this point in time.
You do bring up something that I think is a good point which is that it would be nice to have something more bite-sized that provides differentiators between SYS (3/4) and ETH, etc. Not only for the community but also from our consulting perspective when recommending solutions
I did mark your topic as something to revisit in the next while in my calendar once SYS4 is closer to reality because I think it would be excellent to cover some of those bases off and have handy.
And to be real, without getting into specifics here there may be situations where SYS (gasp, I know) is *not* the best fit for someone's use case as you can't be all things to all people without suffering
I will tell you what tho @Stukov - give me a while with this, I won't forget about it and maybe I can provide you with something down the road once I ratify with Jag that I'm correct in my assumptions about it?

Stukov [9:28 PM]
sure, fine with me
having this vs that is a good idea indeed
and that can be easily shilled when needed by the Community or by the org on their sites

J [9:30 PM]
yeah I saw an image not long ago that had a very broad coin comparison that was cool
I like ones that are a bit more specifically focused but the point is still to give people operating information and then they can make the decisions
Us too, much easier with clients where we can all be unified on talking points

Stukov [9:31 PM]
the info is very very spread at the moment, roadmaps are still available in some cache (maybe do smth with that) people who wanna dyor about sys get confused ( aaaaw they changed roadmap x times, they are not doing that anymore)

slackbot [9:31 PM]
Should you decide to do your own research try this link: https://medium.com/@BlockchainFoundry
Medium
BlockchainFoundry – Medium
Read writing from BlockchainFoundry on Medium. We'll change the way your software is developed and your data is served. Every day, BlockchainFoundry and thousands of other voices read, write, and share important stories on Medium.

redrace [9:32 PM]
But what about the syscoin.js docs @J?

J [9:32 PM]
LOL
Oh what a grind
Thanks for asking
So the README for syscoin.js *should* have a pretty comprehensive list of everything provided. In some ways the TS defs help with that. Let me see if I can pull one of the (admittedly fairly verbose) definition files here.
ANd maybe one that isn't freaking gigantic...2s
(and we're making headway on this sqlite process forking issue, can't wait to write an essay about that one, one day...)
```export default interface BlockchainServices {
getBestBlockHash(): Promise;
getBlock({blockHash}: {blockHash: string}): Promise;
getBlockVerbose({blockHash}: {blockHash: string}): Promise;
getBlockchainInfo(): Promise;
getBlockCount(): Promise;
getBlockHash({height}: {height: number}): Promise;
getBlockAtHeight({height}: {height: number}): Promise;
getBlockAtHeightVerbose({height}: {height: number}): Promise;
getBlockHashes({timestampHigh, timestampLow} :
{timestampHigh: number, timestampLow: number}): Promise;
getBlockHeader({hash}: {hash: string}): Promise;
getBlockHeaderVerbose({hash}: {hash: string}): Promise;
getBlockHeaders({hash, headerCount}: {hash: string, headerCount?: number}): Promise;
getBlockHeadersVerbose({hash, headerCount}: {hash: string, headerCount?: number}): Promise;
getChainTips({count, branchLength}: {count?: number, branchLength?: number}): Promise;
getChainVersion(): Promise;
getDifficulty(): Promise;
getMemPoolAncestors({txid}: {txid: string}): Promise;
getMemPoolAncestorsVerbose({txid}: {txid: string}): Promise;
getMemPoolDescendants({txid}: {txid: string}): Promise;
getMemPoolDescendantsVerbose({txid}: {txid: string}): Promise;
getMemPoolEntry({txid}: {txid: string}): Promise;
getMemPoolInfo(): Promise;
getRawMemPool(): Promise;
getRawMemPoolVerbose(): Promise;
getSpentInfo({txid, startingBlockHeight}: {txid: string, startingBlockHeight?:number}) : Promise;
getTxOut({txid, voutNumber, includeMempool}: {txid: string, voutNumber:number, includeMempool?: boolean}) : Promise;
getTxOutProof({txids, blockHash}: {txids: Array, blockHash: string}): Promise;
getUnspentTxOutputSetInfo() : Promise;
getSuperBlockBudget({index}: {index: string|number}) : Promise;
preciousBlock({blockHash}: {blockHash:string}) : Promise;
pruneBlockchain({blockHeight}: {blockHeight:number}) : Promise;
verifyChain({thoroughnessLevel, numberOfBlocksToCheck}:
{thoroughnessLevel?:number,numberOfBlocksToCheck?:number}) : Promise;
verifyTxOutProof({proof}: {proof: string}) : Promise;
verifyTxOut({txids, blockHash}: {txids:Array, blockHash:string}) : Promise;
}```
(edited)
That's still gigantic, but you get the picture

redrace [9:36 PM]
NOM NOM NOM

J [9:36 PM]
The service calls are split as follows:

```addressIndexServices: AddressIndexServices;
blockchainServices: BlockchainServices;
diagnosticServices: DiagnosticServices;
generationServices: GenerationServices;
governanceServices: GovernanceServices;
masternodeServices: MasternodeServices;
messagingServices: MessagingServices;
miningServices: MiningServices;
mixingServices: MixingServices;
networkServices: NetworkServices;
synchronizationServices: SynchronizationServices;
transactionServices: TransactionServices;
utilityServices: UtilityServices;
walletServices: WalletServices;```
walletServices *further* subdivides into generalized wallet functions but also wallet.alias, wallet.asset, wallet.assetallocation, wallet.escrow, etc... for all of the domain specific functions

redrace [9:37 PM]
Sexy!

J [9:38 PM]
_diagnostic_ is a special class that lets someone hit syscoin and produce a JSON representation of all available commands + a string denoting the arguments to said functions

redrace [9:38 PM]
You awakened someone...

Zontar [9:38 PM]
keep goin'

J [9:38 PM]
_syscoin-api-server_ (I saw!!! The lord of all things SYS) (edited)
walks this object tree in syscoin-js to produce its endpoints, as discussed before.
But with a whitelist/blacklist included so that we don't have people exposing every method in the system by default if they don't want, along with a pluggable "security" paradigm (i.e. if you want resources secured, implement a provider and tell api-server you want to protect the endpoints you exposed) (edited)
So the Typescript stuff is a bear to write,
but I know it is of benefit to devs (syscoin-js is not written in Typescript...it's written in vanilla JS but the TS defs are included for ease of dev life. Most people won't need to care about that unless they're making edits)

redrace [9:42 PM]
This is great! Can't wait to feel it with my own hands. (well, not physically the code ofcourse, but you get what I mean)

J [9:43 PM]
Totally, I'm excited to share it w/ everyone. I hope it is something feel comfortable contributing to

J [9:44 PM]
I know after it's OSed I'll sit down with @Teredell at least to go over making some light contributions, there are a couple of items I've "saved" so that someone other than BCF can be a contributor to this thing in the immediate term

redrace [9:44 PM]
That's cool! (edited)

J [9:44 PM]
I might explore down the road porting it to .NET core or Swift or other langs now that it's pretty solid
But obviously js being the primary use case right now simply because our current non-core work is all JS based

bstr156 [9:45 PM]
Any recent Pangolin bits you can share?

redrace [9:45 PM]
So if @thebotguy (Resident Golang Dev) went GO, it would open up even more possibilities right?

thebotguy (Resident Golang Dev) [9:46 PM]
joined #jtime by invitation from redrace.

J [9:46 PM]
@redrace Exactly, yes.

J [9:46 PM]
It should be relatively trivial for someone experienced with GO to make a port of either syscoin-js or syscoin-api-server to GO.

J [9:47 PM]
@bstr156 We are having our first internal sprint demo of Pangolin this Friday actually
So it's possible "the Was" will be talking about it in #dantime that afternoon. I do know that the group working against that is stellar and led by the incredible dude showing up next to Sebastian on the "core team" section of the BCF site
The guys on Pangolin are *supremely* excellent top of the line dudes all around so I know I'm personally excited to see the sprint demo
@redrace I would *KILL* to see lots of different flavors of libraries supporting SYS btw. Talk about a way to massively lower barrier to entry into building stuff. (edited)
Also just a quick note to tell everyone Electron (the app packager) sucks :wink: (edited)
sigh :smiley: I'm sure it's awesome

redrace [9:51 PM]
If only college would have been this fun learning

J [9:51 PM]
Oh my dude, I totally agree

redrace [9:51 PM]
Would have saved me tons of time

J [9:51 PM]
You should see all the stuff the team is picking up now...I wish my university stuff had been as fun
Basically just taught you how to be a Unix systems admin back then

redrace [9:52 PM]
:joy:

J [9:52 PM]
Nothing against Unix sysadmins BTW, I'm sure they are nice people and that someone is going as one this Halloween

redrace [9:52 PM]
If only we would have such a fun place orientated at learning on Sys coding
...
Ooh wait we have already

J [9:53 PM]
Taught by Headmaster Schepis!

redrace [9:53 PM]
Sy Sy Sy Syscoin.academy coming to a college near you
Explosions on the background with mister Schepis nodding his head (edited)
You still up for a BMD3.2 screenshot?

J [9:57 PM]
@redrace 2s...

redrace [9:57 PM]
What a service... (looks at his watch)

J [9:59 PM]
Work in progress, so final UI may/will vary (edited)
console.PNG


redrace [9:59 PM]
Nice Material design?

J [9:59 PM]
I can also confirm this supports more than just "getinfo" :slightly_smiling_face:
Yeah some material. I think at some point in the SYS4 realm I'd like to revisit whatever apps we (BCF) produce to be a little more design consistent but that depends on the initiatives and priorities as always

redrace [10:00 PM]
That would be lovely

J [10:01 PM]
Speaking of lovely, *this* has been lovely because @q and I have been able to use this to help us through the pain of Electron and forked node processes, but as is life, pain is inevitable and I gotta roll back to that one :smiley:
Thanks all for your time today and have a safe Halloween!

redrace [10:02 PM]
I'm counting on Z-dag for keeping me safe, hope it will do
Thanks for this awesome #jtime

thebotguy (Resident Golang Dev) [11:06 PM]
replied to a thread:
I can do it as long as I have the swagger without issues :)

Redrace
October 31, 2018

Connect with Syscoin