Even though I fully trust the math behind RingCT and I know no moneroj can be created out of thin air, sometimes I'd like to see for myself the consistency of the Pedersen Commitment before/after any given transaction (ie. they sum up to the same value).

If I do print_tx 914b3d1367f10ee95e4aad793e07dab20c2c7106c63593821d7300a7a4cb1a34 on the testnet, I see some information among quite a chunk of data:

Found in blockchain at height 834232 ...(chunk)... { "version": 2, "unlock_time": 0, "vin": [ { "key": { "amount": 0, "key_offsets": [ 13206, 10439, 3501, 19878, 1840 ], "k_image": "85e8e93b7dcee586a427f7892d42e9d6127231261ee794bed0b0a17d3de4df38" } }, { "key": { "amount": 0, "key_offsets": [ 41271, 5033, 2562, 21, 95 ], "k_image": "0606c5bdb3f04cf602a1a50b76253b4fac1f86aa283ecae56af05eeab361cf2f" } }, { "key": { "amount": 0, "key_offsets": [ 19118, 15576, 2754, 6750, 4652 ], "k_image": "68b8fa419a663433d4aac7cb807905fa4adf94873da346578a82ed9091a09f8f" } }, { "key": { "amount": 0, "key_offsets": [ 22933, 15530, 3305, 5886, 1244 ], "k_image": "d8fe30c97b13beed710b2609dc1ce06e85b08a741fb7d7a5960810ff5de47a7e" } } ], "vout": [ { "amount": 0, "target": { "key": "5cde923e1712422d71dd577b35681125912b4c4a538444193ab6e271fd7a43a8" } }, { "amount": 0, "target": { "key": "ca3cc9d51a037322e3f3ff2fe771e85c26628b7e2c1163c3e1e29515885c4163" } } ], "extra": [ 1, 235, 1, 181, 37, 243, 100, 198, 158, 197, 43, 164, 39, 167, 190, 249, 250, 228, 251, 153, 212, 248, 165, 112, 95, 210, 238, 138, 151, 158, 243, 238, 50 ], "rct_signatures": { "type": 2, "txnFee": 30000000000, "pseudoOuts": [ "276f03ba8c7852cb545830f7fedcdcd08789675d2a6c265bea236d0de90f6b11", "c611cc551db3b05ad6e5dba4ce89a8eeeb18317d8b565031941e98b6b9b8db4f", "8a088f1ccd11dd1633a663538faa9cb18c157b4fd37c421697a6356b4d7a98f6", "9e1238add1c1a4712904e5d5d8913482dcd6d31af166bc73918fd8148a42f22b"], "ecdhInfo": [ { "mask": "c626b75f726e88a26fc74c1bb508fa9358c0896a7635d0f1256c7f43f0217706", "amount": "63c1d97047ff515ccd5ca271f4e5013b9c1092c25307207a0ff037b13f492c00" }, { "mask": "73b4367f9b143c0a453598f85761698c4548e890fa52a05b4e28183126525008", "amount": "81b48b46e79b458a234ad36d3d0890f89e30d50cc18a687dd94fd0ef3417da0f" }], "outPk": [ "f9cabc6b0fd32822feb3e13c70b54b2cdc2a3ce7c88ac661c29ab20732e2974f", "cfb010382648e11d7d5744fe8051c8606f31c901f9ede5b7e392f73790f9e7f8"] }, "rctsig_prunable": { "rangeSigs": [ { ...(chunk)...

I guess key_offsets point to the outputs P_i^j and outPk represent the output commitments C_{i,out} as in MRL-0005 (page 9, Definition 4.1). What I would like to do is to check that i -th member of R actually matches \sum_{j}P_i^j + \sum_{j}C_i^j - \sum_{k}C_{k,out} . Can I do this by myself easily, eg. by using Luigi1111's JavaScript code? How can I get P_i^j and C_i^j and i -th member of R from the daemon?