Clients may call the transaction method directly.
var fb = new Firebase(URL);
var counterRef = fb.child('counter');
var valsRef = fb.child('values');
$('#addValue').click(function(){
counterRef.transaction(function(currentVal) {
return (currentVal||0)+1;
},
function(err, success, snap) {
fbValues.push({ x: snap.val(), y: randomNum(30,60)});
});
});
Locally, just listen on the counter path for changes:
var counter = 0;
counterRef.on('value', function(snap) {
counter = snap.val() || 0;
});